jquery - css nth-child(2n+1) 过滤掉列表项后重绘css

标签 jquery css filter css-selectors jquery-isotope

我有一个包含 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/

相关文章:

android - 确保你的适配器的内容不是从后台线程修改的,而只是从 UI 线程修改的

regex - 如何从 Google 表格中的过滤器中选择多个值?

JavaScript 爆炸问题

javascript - 在函数之间传递变量

php - Wordpress 错误 "Invalid CSS"但引用的 CSS 不是我的 CSS

c++ - 如何在 Internet Explorer COM 对象中应用 css?

javascript - 如何在 'N/search'模块过滤器中添加带括号的过滤条件

javascript - Firefox 兼容输入过滤

jQuery addClass 仅适用于 ul child

css - 在其他浏览器上平滑的字母间距过渡