6つの要素のセットがあり、2番目と3番目の要素ごとにフィルタリングしたいので、要素2、3、5、6を作成します。試しまし.filter(':nth-child(2n+1)'));
たが、明らかに2、4、6をフィルタリングします。
私が試みていたもう1つの方法は、要素1と4を削除することでしたが、セットから要素を削除するフィルターの反対のjQuery関数が見つかりませんでした。
6つの要素のセットがあり、2番目と3番目の要素ごとにフィルタリングしたいので、要素2、3、5、6を作成します。試しまし.filter(':nth-child(2n+1)'));
たが、明らかに2、4、6をフィルタリングします。
私が試みていたもう1つの方法は、要素1と4を削除することでしたが、セットから要素を削除するフィルターの反対のjQuery関数が見つかりませんでした。
.filter(':not(:nth-child(1),:nth-child(4))')
あなたの例を見ると、私はあなたが実際に2nと3nを望んでいないと思います。あなたは3つのすべてのグループの2番目と3番目が欲しいですか?次に、これらのいずれかが機能するはずです。
.filter(':nth-child(3n+2), :nth-child(3n+3)'));
.filter(':not(:nth-child(3n+1))');
filter
関数(一致した要素のゼロベースの数である単一のパラメーターを受け取る)で使用することもできます。
$('div').filter( function(n) { return n%3!=0 } )
ここで私のJSFiddleの概念実証を参照してください。
たった1つではできないと思いますnth-child
。何をしたいのかわかりませんが、スタイル、クラス、イベントなど、そのカテゴリの何かを指定したい場合は、それらすべてを指定して、1番目と4番目から削除できます。
$('div').addClass('red');
$('div:nth-child(3n+1)').removeClass('red');
実例: http: //jsfiddle.net/gnbMH/
nth-child
また、2つのを使用して機能させることもできます。
$('div:nth-child(3n+2)').addClass('red');
$('div:nth-child(3n+3)').addClass('red');
実例: http: //jsfiddle.net/gnbMH/1/
また、2つを組み合わせると、nth-child
次のようになります。
var elems = $('div:nth-child(3n+2)');
$('div:nth-child(3n+3)').each(function(i,elem) {
elems.push(elem);
});
$(elems).addClass('red');
実例: http: //jsfiddle.net/gnbMH/2/
使ってみてください:not(:nth-child(3n+1))
..のようなもの.filter(':not(:nth-child(3n+1))').