jQuery - 2个伪选择器?

Phi*_*ill 8 javascript css jquery css-selectors jquery-selectors

可能重复:
结合jQuery:not和:nth-​​child选择器

这可能吗?

这是我的代码:

$("ul#filterlist li:nth-child(3n)").css("marginTop", "0");
Run Code Online (Sandbox Code Playgroud)

如果我想将它应用到列表中,但只对列表中可见的那些项目(一些隐藏,我不希望它们计算),它将如何实现?我想的是:

$("ul#filterlist li:nth-child(3n)").not(":hidden").css("marginTop", "0");
Run Code Online (Sandbox Code Playgroud)

但它不会起作用.我也不会尝试任何东西:可见

有任何想法吗?谢谢.

小智 11

你正在寻找的方法是filter().它将根据给定的选择器过滤掉jQuery对象列表.由于:hidden我没有找到"不"选择器,我使用了相反的选择:visible.

$("ul#filterlist li:nth-child(3n)").filter(":visible").css("marginTop", "0");
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助!