jquery当前可见的第n个孩子
我可以像这样设计每个第4个“项目”div
jQuery(".item:nth-child(4n)").addClass("fourth-item");
并且工作正常,但后来我隐藏了一些项目,显示了其他一些项目,并希望重新做这个样式,但只有每个第四项可见的样式。 所以我有一个function,将删除这个样式并重新应用它,但我需要在重新应用样式时指定它只是每隔4个可见项目,而不是每第4个项目。 我知道“:visible”选择器但是没有看到用正确的nth-child选择器链接它,任何想法?
我尝试过这样的各种事情但无济于事……
jQuery(".item").removeClass("fourth-item"); jQuery(".item:visible:nth-child(4n)").addClass("fourth-item");
:nth-child
扫描父母的孩子,无论他们的造型是什么。 count in :nth-child
是相对于父元素,而不是前一个选择器。 这在jQuery文档中解释为:nth-child
:
使用
:nth-child(n)
,所有子节点都被计数,无论它们是什么,只有在与附加到伪类的选择器匹配时才选择指定的元素。
使用更简单的方法, each
方法完全符合您的要求:
$('#test li:visible').each(function (i) { if (i % 4 == 0) $(this).addClass('fourth-item'); });