-1

我有一个网站,我将在其中将元素作为瓷砖连续放置 4 个。我想添加到每个元素margin-left: 13px中,除了每行中的每个第一个元素。有人可以指出我如何使用 jQuery 来完成吗?

4

4 回答 4

3

就像是:

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

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

于 2013-03-30T21:32:07.073 回答
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;
}
于 2013-03-30T21:33:43.217 回答
0

试试这个:

var count = 0;
    $('.classname').each(function(){
        count++;
        if(count !== 4){
             $(this).css("margin-left", "13px");
        } else {
            count = 0;
        }
    });
于 2013-03-30T21:37:10.030 回答
0

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

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

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

于 2013-03-30T21:38:08.087 回答