如何使用jQuery将类添加到除第四个之外的每个元素?

时间:2013-03-30 21:29:50

标签: javascript jquery

我有一个网站,我将把元素作为瓷砖连续放置4个。我想添加每个元素margin-left: 13px,除了每一行中的每个第一个元素。请问有谁可以指出如何使用jQuery完成这项工作?

4 个答案:

答案 0 :(得分:3)

类似的东西:

$('element:not(:nth-child(4n))')

演示:http://jsfiddle.net/G84B8/

答案 1 :(得分:3)

工作示例:http://jsfiddle.net/ZVd6Y/

假设包装行的类为row ...

给定的 HTML:

<div class="row">
    <p class="first">first row</p>
    <p>second row</p>
    <p>third row</p>
</div>

<div class="row">
    <p class="first">first row</p>
    <p>second row</p>
    <p>third row</p>
</div>

您可能想要使用:

$(document).ready(function(){
    $('.row').children("p:not(.first)").addClass("extra-margin");
});

使用以下 CSS:

.extra-margin{
    margin-left: 13px;
}

答案 2 :(得分:0)

试试这个:

var count = 0;
    $('.classname').each(function(){
        count++;
        if(count !== 4){
             $(this).css("margin-left", "13px");
        } else {
            count = 0;
        }
    });

答案 3 :(得分:0)

您可以使用:not:nth-child()选择器。例如:

$('div:not(:nth-child(4n))').css('margin-left', '13px');

演示:http://jsfiddle.net/HsbUv/1/