每3个添加一个新div

时间:2013-01-29 23:04:50

标签: javascript jquery

重点是else位,我正在添加div $('<div id="content" class="span4"></div>').appendTo('.new');,我需要检查是否已经添加了3个div,如果是,请添加新的$('<div class="row-fluid new"></div>').insertAfter($row);和然后重新开始

$(".navMore li a").on("click", function() {
    var $el = $(this);
    $('#content').removeAttr('id');
    var $row = $el.closest('.row-fluid');
    if($row.next('.new').length){
        $('<div id="content" class="span4"></div>').appendTo('.new');
    }
    else {
         $('<div class="row-fluid new"></div>').insertAfter($row);
         $('<div id="content" class="span4"></div>').appendTo('.new');
    }
});

2 个答案:

答案 0 :(得分:1)

我会使用模数(Operators / Modulus.htm“&gt; http://www.java2s.com/Tutorial/JavaScript/0040_Operators/Modulus.htm)做这样的事情:

$(".navMore li a").on("click", function() {
    var $el = $(this);
    $('#content').removeAttr('id');
    var $row = $el.closest('.row-fluid');

    var count = $('.new').find('span4').length;

    if (count % 3 == 0)
        $('<div class="row-fluid new"></div>').insertAfter($row);

    if($row.next('.new').length){
        $('<div id="content" class="span4"></div>').appendTo('.new');
    }
    else {
         $('<div class="row-fluid new"></div>').insertAfter($row);
         $('<div id="content" class="span4"></div>').appendTo('.new');
    }
});

这很粗糙,可能需要一些按摩,但我认为这正是你要找的。

答案 1 :(得分:0)

使用它:

$(".navMore li a").on("click", function() {
var $el = $(this);
$('#content').removeAttr('id');
var $row = $el.closest('.row-fluid');
var $rowNew = $row.next('.new');

if ($rowNew.children().length >= 3) {
        $('<div class="row-fluid new"></div>').insertAfter($row);
}

if($row.next('.new').length){
        $('<div id="content" class="span4"></div>').appendTo('.new');
}
else {
        $('<div class="row-fluid new"></div>').insertAfter($row);
        $('<div id="content" class="span4"></div>').appendTo('.new');
}
});