我可以像这样设置每 4 个“item”div 的样式
jQuery(".item:nth-child(4n)").addClass("fourth-item");
这工作得很好,但后来我隐藏了一些项目,显示了其他一些项目,并想重新做这个样式,但只对每第四个可见的项目进行样式设置。因此,我有一个函数可以删除此样式并重新应用它,但我需要在重新应用样式时指定它仅是每 4 个可见项目,而不是每 4 个项目。我知道“:visible”选择器,但无法将其与第 n 个子选择器正确链接,有什么想法吗?
我尝试过各种类似的事情但无济于事......
jQuery(".item").removeClass("fourth-item");
jQuery(".item:visible:nth-child(4n)").addClass("fourth-item");
:nth-child http://api.jquery.com/nth-child-selector/扫描父母的孩子,无论他们的样式是什么。计数中:nth-child http://api.jquery.com/nth-child-selector/是相对于父元素,而不是前一个选择器。 jQuery 文档对此进行了解释:nth-child
:
With :nth-child(n)
,所有子元素都会被计算在内,无论它们是什么,并且仅当指定元素与附加到伪类的选择器匹配时才会选择指定元素。
使用更简单的方法each
正是你想要的:
$('#test li:visible').each(function (i) {
if (i % 4 == 0) $(this).addClass('fourth-item');
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)