我有一个隐藏了一些行的表。我确实展示了它们,但根据需要。用户必须执行操作才能显示这些行。每个隐藏的行都有带有 TR 标签的 class="hideMe"。
我想为交替行添加一个类,以更改颜色,但仅限于那些始终可见的。通常它很简单,但我不确定如何合并隐藏行异常。
$('.myTable tr:odd:not(hideMe)').addClass('altRow');
可以只用 CSS 来完成,还是我需要加入一些 jQuery 魔法?
您将不得不求助于 JavaScript:
$('.myTable tr:not(.hideMe)').each(function (i) {
$(this).toggleClass( 'altRow', !! (i % 2) );
});
这是小提琴:http: //jsfiddle.net/PxT93/
为了稍微提高性能,您可以使用按&
位运算符而不是模数:
$('.myTable tr:not(.hideMe)').each(function (i) {
$(this).toggleClass( 'altRow', !! (i & 1) );
});
这是小提琴:http: //jsfiddle.net/PxT93/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/