今天我注意到,jQuery选择器和addClass()函数的组合在IE8上无法正常工作。
例如,在表格中选定偶数行时,我编写了以下代码:
jQuery(document).ready(function($){
$("#table1 tr:nth-child(even)").addClass("even");
}
至于CSS,我编写了:
#table1 tr:nth-child(even), #table1 tr.even {
background-color: #ff0;
}
在Firefox、Chrome、Safari和Opera中,即使CSS文件中没有伪类选择器,偶数行也会被选中。然而,在IE8中并非如此。这些行没有不同的背景颜色。
这很奇怪,因为当我使用:
jQuery(document).ready(function($){
$("#table1 tr:nth-child(even)").css({"background-color":"#ff0"});
}
在IE8中,所选行会被高亮显示。
问题的一个示例可以在这里看到-24ways example。在Firefox、Chrome、Safari和Opera中,奇数行被分配了一个“odd”类。然而,在IE8中,它们没有被分配“odd”类,也没有被高亮显示。
:nth-child()
,因此必须完全丢弃整个 CSS 规则。 - BoltClock