我有一个包含 20 多个元素的列表。使用 :nth-child(2n+1) 选择器改变背景颜色。 (即偶数项黑色,奇数项白色)。当我单击一个按钮以使用 jQuery Isotope 插件过滤掉特定元素时,它会向我要过滤掉的元素添加一个 .isotope-hidden 类,这会将列表项的位置更改为 0,0,将不透明度更改为 0。
当发生这种情况时,剩余的元素将保留原始的黑色/白色背景颜色,现在不再按顺序排列。
有谁知道在不包含 .isotope-hidden 类的元素上使用 :nth-child(2n+1) 选择器“重新绘制”css 的方法。
我试过了
#element tr:not(.isotope-hidden):nth-child(2n+1)
没有用。
如有任何帮助,我们将不胜感激。谢谢。
最佳答案
在处理组的筛选选择时,第 N 个 child 可能违反直觉。
使用 .each() 来绕过它的限制:
var count = 1;
$('#element tr:not(.isotope-hidden)').each(function(){
if ( count++ % 2 == 1 ) $(this).css('background-color','white')
})
关于jquery - css nth-child(2n+1) 过滤掉列表项后重绘css,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11677827/