jQuery :contains
选择器似乎无法在IE8上运行。
请参阅IE上的以下示例 - LIVE DEMO
JS:
$('table tr td:contains(" + ")').each( function(){
$(this).addClass('url');
});
答案 0 :(得分:4)
您需要将TD中的空格转换为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, ' ') );
});
}
答案 1 :(得分:0)
IE8 :contains
问题的另一个更简单的解决方案:
确保您不在字符串中使用空格,例如
即使您的html包含空格$('table tr td:contains("+")')
, <td> + </td>
也能正常工作