Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery-2伪选择器?_Javascript_Jquery_Css_Jquery Selectors_Css Selectors - Fatal编程技术网

Javascript jQuery-2伪选择器?

Javascript jQuery-2伪选择器?,javascript,jquery,css,jquery-selectors,css-selectors,Javascript,Jquery,Css,Jquery Selectors,Css Selectors,可能重复: 这可能吗 这是我的密码: $("ul#filterlist li:nth-child(3n)").css("marginTop", "0"); 如果我想将其应用于列表中,但仅应用于列表中可见的项目(有些项目被隐藏,我不想将其计算在内),那么如何实现?我的想法是: $("ul#filterlist li:nth-child(3n)").not(":hidden").css("marginTop", "0"); 但这行不通。我也不会尝试任何东西:可见的 有什么想法吗?谢谢。您正在寻

可能重复:

这可能吗

这是我的密码:

$("ul#filterlist li:nth-child(3n)").css("marginTop", "0");
如果我想将其应用于列表中,但仅应用于列表中可见的项目(有些项目被隐藏,我不想将其计算在内),那么如何实现?我的想法是:

$("ul#filterlist li:nth-child(3n)").not(":hidden").css("marginTop", "0");
但这行不通。我也不会尝试任何东西:可见的


有什么想法吗?谢谢。

您正在寻找的方法是
filter()
。它将根据给定的选择器筛选jQuery对象列表。由于找不到“not
:hidden
”选择器,我使用了相反的
:visible

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

希望这有帮助

尝试链接:选择器

$("ul#filterlist li:nth-child(3n):not(:hidden)").css("marginTop", "0");
如回答中所示:


如果不想计算隐藏元素,可以尝试使用以下代码

$("ul#filterlist li:visible").filter(function(index){ 
    return (index+1)%3 == 0?true:false;
}).css("marginTop", "0");

请参见JSFIDLE中的示例

,如果它是
:not:hidden
,则它必须是
:visible
。可见性也可以是:collapse,尽管它在非表元素上使用时会隐藏其他示例$(“#divdetails span:nth child(2):contains('s'))。它不是:not的副本,因为:not不是解决方案的一部分,这正是我认为它在逻辑上会起作用的方式,但事实并非如此,谢谢