我有一张隐藏了一些行的表。我确实展示了它们,但需要它。用户必须执行操作才能显示这些行。每个隐藏的行都有class =“hideMe”,带有TR标记。
我想为交替的行添加一个类,以改变颜色,但仅限于那些始终可见的颜色。通常它很简单,但我不确定如何合并隐藏行异常。
$('.myTable tr:odd:not(hideMe)').addClass('altRow');
可以用CSS完成,还是需要投入一些jQuery魔法?
答案 0 :(得分:3)
您必须使用JavaScript:
$('.myTable tr:not(.hideMe)').each(function (i) {
$(this).toggleClass( 'altRow', !! (i % 2) );
});
这是小提琴:http://jsfiddle.net/PxT93/
对于a tiny increase in performance,您可以使用&
按位运算符而不是模数:
$('.myTable tr:not(.hideMe)').each(function (i) {
$(this).toggleClass( 'altRow', !! (i & 1) );
});
答案 1 :(得分:1)
实际上,只需稍微调整一下你的代码,你就会得到一个很好的解决方案:
$('.myTable tr:not(.hideMe):odd').addClass('altRow');
在此处查看:http://jsfiddle.net/HYHWJ/
另一种解决方案是:
$('.myTable tr:not(.hideMe)')
.removeClass('altRow')
.filter(':odd')
.addClass('altRow');
在此处查看此工作:http://jsfiddle.net/r4N5g/