对于店面,我正在构建一个简单的选择器,它允许根据它们的类显示和隐藏元素。
我正在使用 nth-child() 选择器为每个第三个元素添加一个类,但即使选择器确实可以显示和隐藏元素,我的脚本在进行选择后也不会将该类添加到第三个元素。
我正在使用的代码非常大(并且绝对可以优化),所以对于我的意思的一个例子,请看一下这个 jsFiddle。
我究竟做错了什么?
对于店面,我正在构建一个简单的选择器,它允许根据它们的类显示和隐藏元素。
我正在使用 nth-child() 选择器为每个第三个元素添加一个类,但即使选择器确实可以显示和隐藏元素,我的脚本在进行选择后也不会将该类添加到第三个元素。
我正在使用的代码非常大(并且绝对可以优化),所以对于我的意思的一个例子,请看一下这个 jsFiddle。
我究竟做错了什么?
您误解了 nth-child 的作用。
您希望.myclass:nth-child(3n)
选择每 3 次出现的.myclass
.
它真正做的是选择nth-child
它的父节点的每个元素,而不考虑类。它基本上充当组合选择器。在你的情况下
选择每个也具有类 .myclass 的第三个元素
在您的情况下,您应该使用:
$(".myclass").each(function(index, item){
if (index % 3 == 0) {
// do something
}
})
您的代码已修改.. 替换行
jQuery('.' + className).parent().children('.' + className + ':nth-child(3n) a').addClass('product_item_last');