具有隐藏行的表的JQuery选择器 – 备用行着色

我有一个表,通常我使用这个选择器来应用奇数和偶数行:

table.find('tbody tr:even').addClass('even'); table.find('tbody tr:odd').removeClass('even'); 

我的表有各行插入的行,因此我从奇数行中删除它。

我现在隐藏了某些行

 jQueryTrObject.hide(); 

我想要应用与以前相同的样式,以便在用户关注的情况下,备用行被标记为奇数和偶数,并且我希望它考虑到隐藏的行。

我如何编写选择器来执行此操作,因为我必须使用每个选项并进行特别检查吗?

使用:visible选择器

 table.find('tbody tr.even').removeClass('even'); table.find('tbody tr:visible:even').addClass('even'); 

请记住先使用它,以便:evenfilter适用于它之后。

试试这个:

 table.find('tbody tr').removeClass('even') .filter(':visible:even').addClass('even'); 

使用:not(:hidden)选择器

 table.find('tbody tr:not(:hidden):even').addClass('even'); 

您可以使用:visible选择器仅标记可见行:

 table .find('tbody tr:visible:even') .addClass('even') .end() .find('tbody tr:visible:odd') .removeClass('even'); .end();