店先では、クラスに基づいて要素を表示および非表示にできるシンプルなセレクターを作成しています。
nth-child()セレクターを使用して、3番目の要素ごとにクラスを追加していますが、セレクターは要素の表示と非表示で機能しますが、スクリプトは、選択を行った後、クラスを3番目の要素に追加しません。
私が使用しているコードは非常に大きい(そして間違いなく最適化できる)ので、私が意味する例については、このjsFiddleを見てください。
私は何が間違っているのですか?
店先では、クラスに基づいて要素を表示および非表示にできるシンプルなセレクターを作成しています。
nth-child()セレクターを使用して、3番目の要素ごとにクラスを追加していますが、セレクターは要素の表示と非表示で機能しますが、スクリプトは、選択を行った後、クラスを3番目の要素に追加しません。
私が使用しているコードは非常に大きい(そして間違いなく最適化できる)ので、私が意味する例については、このjsFiddleを見てください。
私は何が間違っているのですか?
あなたはn番目の子供が何をしているのか誤解しています。
.myclass:nth-child(3n)
の3番目の出現ごとに選択することを期待します.myclass
。
実際にはnth-child
、クラスに関係なく、親ノードの各要素を選択します。基本的には複合セレクターとして機能します。あなたの場合
クラス.myclassを持つ3番目の要素をそれぞれ選択します
あなたの場合、あなたは以下を使うべきです:
$(".myclass").each(function(index, item){
if (index % 3 == 0) {
// do something
}
})
コードが変更されました。行が置き換えられました
jQuery('.' + className).parent().children('.' + className + ':nth-child(3n) a').addClass('product_item_last');