0

对于店面,我正在构建一个简单的选择器,它允许根据它们的类显示和隐藏元素。

我正在使用 nth-child() 选择器为每个第三个元素添加一个类,但即使选择器确实可以显示和隐藏元素,我的脚本在进行选择后也不会将该类添加到第三个元素。

我正在使用的代码非常大(并且绝对可以优化),所以对于我的意思的一个例子,请看一下这个 jsFiddle

我究竟做错了什么?

4

2 回答 2

2

您误解了 nth-child 的作用。

您希望.myclass:nth-child(3n)选择每 3 次出现的.myclass.

它真正做的是选择nth-child它的父节点的每个元素,而不考虑类。它基本上充当组合选择器。在你的情况下

选择每个也具有类 .myclass 的第三个元素

在您的情况下,您应该使用:

$(".myclass").each(function(index, item){
    if (index % 3 == 0) {
        // do something
    }
})
于 2012-08-23T21:47:15.940 回答
0

工作演示

您的代码已修改.. 替换行

 jQuery('.' + className).parent().children('.' + className + ':nth-child(3n) a').addClass('product_item_last');
于 2012-08-23T21:57:05.343 回答