0

私は2人の子供ごとに新しい行を追加し、毎回新しい行の中に2人の新しい子供を配置しようとしています。

開始HTML:

<div class="row_1"></div>

最初の実行後、私は次のようになります。

<div class="newRow">
   <div class="span6" id="content"></div>
</div>
<div class="row_1"></div>

しかし、追加し続けると、次のようになります。

<div class="newRow">
  <div class="span6">...</div>
  <div class="span6" id="content">...</div>
  <div class="span6" id="content"></div> <== Empty extra div
</div>
<div class="newRow"></div> <== Empty extra div
<div class="row_1"></div>

期待される結果は

<div class="newRow">
  <div class="span6">...</div>
  <div class="span6" id="content">...</div>
</div>
<div class="newRow">
  <div class="span6">...</div>
  <div class="span6">...</div>
</div>
<div class="row_1"></div>

以下は私が使用しているjQueryです

$(".nav li a").on("click", function(e) {

$('#content').removeAttr('id');

var $row = $(".row_1");
var $rowNew = $('.newRow');

if($rowNew.length < 2){
        $('<div id="content" class="span6"></div>').appendTo('.newRow');
} 

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

else {
        $('<div class="row-fluid new"></div>').insertBefore($row);
        $('<div id="content" class="span6"></div>').appendTo('.newRow');
}
});
4

1 に答える 1

0

「最終的に私はそれを解決しました」:

$(".nav li a").on("click", function(e) {

$('#content').removeAttr('id');

var $row = $(".span9");
var $rowNew = $('.new');

if ($rowNew.children().length > 1) {
        $(".span9 div").removeClass("new");
        $('<div class="row-fluid new"></div>').prependTo($row);
}

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

});
于 2013-02-06T19:32:13.683 に答える