jQuery的问题:nth-​​child和隐藏行

我有一个简单的斑马效果表:

$('table.zebra tbody tr:nth-child(odd)').addClass('darker'); 

现在我必须隐藏/显示某些行。 但是当我这样做时,那些隐藏的行仍然会计算,并且斑马效应不再起作用了。 假设显示行1,隐藏2,并再次显示3。 现在,1和3都显示在彼此的顶部,因为隐藏了2,但是它们都具有darker级别的较暗背景,因为它们都是奇数。

我试过这样的事情:

 $('table.zebra tbody tr:nth-child(odd):not(.hide)').addClass('darker'); 

但似乎它在计数时不会跳过类hide的行,导致同样的问题。

是否有一个技巧只计算未隐藏的行并确定它们是奇数还是偶数? 最好使用jQuery选择器而不是某些function。

你可以尝试类似的东西:

 $('table.zebra tbody tr:not(.hide)').filter(":odd").addClass('darker');