0

私はリストを持っています

<article class="post">Bla bla bla</article>
<article class="post">Bla bla bla</article>
<article class="post">Bla bla bla</article>
<article class="post">Bla bla bla</article>
<article class="post">Bla bla bla</article>
<article class="post">Bla bla bla</article>
<article class="post">Bla bla bla</article>

5番目と6番目の要素、8番目と9番目、11番目と12番目、14番目と15番目などを選択します...

$('div#elencoNonHome > article.post:nth-child(???)').css('margin-left', '20px');

jQuery関数でこれを行うことはできますか?

4

3 に答える 3

1

これはn番目の子で行うことができます。2つのステートメントを足し合わせるだけです。

$('div#elencoNonHome > article.post:nth-child(3n+6)')
 .add('div#elencoNonHome > article.post:nth-child(3n+5)')
 .css('margin-left', '20px');

DEMOを参照してください。

于 2013-03-25T14:52:11.653 に答える
0

n番目の子でこれを直接行うことはできません。かなり単純な行照合ロジックがあります。ただし、ロジックを逆にしてデフォルトのマージンが20pxになる場合は、n番目の子を使用して、行#7、#10、#13などを他の方法でプルします。

例えば

$('div#elencoNonHome > article.post').css('margin-left', '20px');
$('div#elencoNonHome > article.post:nth-child("3n+7")').css('margin-left', 0)
于 2013-03-25T14:43:29.907 に答える
0

もちろん。

$('div#elencoNonHome > article.post').filter( function() {
    var index = $( this ).index();
    return index >= 4 && index % 3;
}).css('margin-left', '20px');

デモ: http: //jsfiddle.net/R4vX2/1/

于 2013-03-25T14:43:43.153 に答える