jquery id 选择器在 IE 8 中不起作用
Posted
技术标签:
【中文标题】jquery id 选择器在 IE 8 中不起作用【英文标题】:jquery id selector doesn't work in IE 8 【发布时间】:2015-10-30 02:30:05 【问题描述】:我有以下选择器:
$('#terminal-template').text()
以及正文中的以下jsp页面片段:
<script type="text/template" id="terminal-template">
<li data-terminal-id=" id " class=" clazz2 ">
<label>
<input type="checkbox" name="terminal" class=" clazz " data-terminal-id=" id " />
<a href="#" title="" class="image"><img
src="getSmallThumbnail/imageId"
/></a>
<h3> name
<small> place </small>
</h3>
<p class="count">Проходимость: <span> count </span> чел./час</p>
<p class="count">Стоимость: <span> amount </span> руб./час</p>
<p class="count">Количество свободных слотов: <span> numberOfEmptyCase </span> </p>
</label>
</li>
</script>
在 IE $('#terminal-template').text()
中返回空 (""
)
但在 chrome 中 - 它可以正常工作并返回
"
<li data-terminal-id=" id " class=" clazz2 ">
<label>
<input type="checkbox" name="terminal" class=" clazz " data-terminal-id=" id " />
<a href="#" title="" class="image"><img
src="getSmallThumbnail/imageId"
/></a>
<h3> name
<small> place </small>
</h3>
<p class="count">Проходимость: <span> count </span> чел./час</p>
<p class="count">Стоимость: <span> amount </span> руб./час</p>
<p class="count">Количество свободных слотов: <span> numberOfEmptyCase </span> </p>
</label>
</li>
"
【问题讨论】:
您是否尝试过使用.html()
? .text()
可能在 IE8 中使用 script
标记失败。
你用的是哪个版本的jquery?
jquery 1.8.2 版
好的。版本似乎还不错。我试过这个并且能够让它在 IE8 var templateVal = $('#terminal-template').clone(); console.log(templateVal.html());
上运行你能试试这个并告诉我它是否适合你吗?
Sushil,manji 已经答对了
【参考方案1】:
从存储在虚拟脚本块中的模板中获取 HTML 时,您应该始终使用 .html()
,而不是 text()
。
例如这适用于所有浏览器:
var html = $('#terminal-template').html();
我真的很惊讶text()
在任何浏览器上都会返回任何内容,但我想 Google 虽然这可能有用。从技术上讲,脚本内容是“文本”,但并非所有浏览器都标准化,因此最好避免。 html()
保证返回 innerHTML
属性,因此将始终适用于所有浏览器
【讨论】:
以上是关于jquery id 选择器在 IE 8 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章
jquery 1.8 类选择器在 Firefox 中不起作用