2

これはおそらく非常に単純ですが、理解できません。

私はこの種のコードを持っています:

<div class="grandparent">
    <div class="parent">
        <div class="child" id="1"></div>
        <div class="child" id="2"></div>
        <div class="child" id="3"></div>
        <div class="child" id="4"></div>
    </div> 
    <div class="parent">
        <div class="child" id="5"></div>
        <div class="child" id="6"></div>
    </div> 
</div>

私が試した:

$('.grandparent .child:nth-child(3n)').css("margin-right","0px");

したがって、子 #3子 #6が margin-right:0px を持つ必要があります。

ただし、選択されたクラス.grandparentではなく、常に .parent を3nの子として参照しているため、子 #3のみが影響を受けます。

それを解決する簡単な方法はありますか?

4

1 に答える 1

3

私はお勧めします:

$('.grandparent .child').filter(function(i){
    return (i+1)%3 === 0;
}).css('margin-right', '0px');

JS Fiddle の概念実証(color見やすくするために使用)。

参考文献:

于 2013-02-20T22:47:41.943 に答える