jQuery nth / Every 3rd

时间:2010-08-03 23:26:43

标签: jquery

我有一些看起来像这样的标记:

<h3>Mgmt</h3>   
<div class="ManagementOperations">bla bla </div>
<div class="ManagementOperations">bla bla </div>
<div class="ManagementOperations">bla bla </div>
<div class="ManagementOperations">bla bla </div>
<div class="ManagementOperations">bla bla </div>
<h3>People</h3>
<div class="people">bla bla </div>
<div class="people">bla bla </div>
<div class="people">bla bla </div>
<div class="people">bla bla </div>
<div class="people">bla bla </div>
<div class="people">bla bla </div>

两个类别的每个div的数量为2 - 100

我想将类rowEnd添加到每个第3个'ManagementOperations',每隔3个'ManagementOperations',计数会在类中发生更改时重置。

有什么想法吗?我使用它的效果很差:

$(".ManagementOperations:nth-child(4n)").addClass('rowEnd');

2 个答案:

答案 0 :(得分:3)

尝试:

$(".ManagementOperations:nth-child(3n+1)").addClass('rowEnd');

答案 1 :(得分:2)

:nth-​​child Selector将找到其父元素的第n个子元素。看起来好像你的所有元素,包括你的h3都有相同的父元素,所以它只适用于你给出的每个第3个元素,例如第二个div。你可以将每个div的集合包装在另一个div中,以便将父级的子节点约束到那些div。或者你可以这样做:

$(".ManagementOperations").each(function(index) {
    if ((index+1) % 3 == 0) $(this).addClass('rowEnd');
});

无论如何,我还没有测试过它。