看来jQuery :contains
选择器在IE8上不起作用。:在IE8上包含问题
请参阅IE下面的例子 - LIVE DEMO
JS:
$('table tr td:contains(" + ")').each(function(){
$(this).addClass('url');
});
看来jQuery :contains
选择器在IE8上不起作用。:在IE8上包含问题
请参阅IE下面的例子 - LIVE DEMO
JS:
$('table tr td:contains(" + ")').each(function(){
$(this).addClass('url');
});
您需要的空间转换在您的预扣税为HTML实体(
)
为$('table tr td:contains(" + ")')
工作。 (同JS/CSS)
HTML:
<table>
<tr>
<td> + </td>
<td> 1 </td>
<td> 3 </td>
<td> 6 </td>
<td> 7 </td>
</tr>
</table>
但是它会失败在现代的浏览器,因此该解决方案是,以取代实体为这些浏览器。只要在这之前加上这个片段,它就可以完成这项工作。
if(!($.browser.msie && $.browser.version < 10)){
$('table tr td').each(function(){
$(this).html($(this).html().replace(/ /gi, ' '));
});
}
另一种更简单的解决IE8 :contains
问题:
确保您不使用字符串的内部空间,如
$('table tr td:contains("+")')
将工作即使你的HTML有空格<td> + </td>
我看不到你的小提琴,因为jsFiddle像往常一样慢,但尝试转义'+',像这样:'$('t能够使用tr td:contains(“\ +”)')' –
@RoryMcCrossan - 它不会帮助使用转义字符 – Varun
您首先告诉我们,带空格的选择器不起作用,您的更新告诉我们不要使用空格。这是什么? –