Javascript 每设置一组子级数,添加新行
我试图每2个孩子添加一行,每次在一行中放置2个孩子 起始html:Javascript 每设置一组子级数,添加新行,javascript,jquery,Javascript,Jquery,我试图每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=
<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>
...
...
2) {
$('').insertBefore($row);
}
否则{
$('').insertBefore($row);
$('').appendTo('.newRow');
}
});
“最终我解决了它”:
$(.nav li a”)。在(“单击”上,函数(e){
$('#content').removeAttr('id');
变量$row=$(“.span9”);
var$rowNew=$('.new');
如果($rowNew.children().length>1){
$(.span9 div”).removeClass(“新”);
$('').prependTo($row);
}
如果($(“.new”).length==0){
$('').prependTo($row);
$('').appendTo('.new');
}否则{
$('').appendTo('.new');
}
});
那么,您希望输出结果是什么呢?你能举个例子吗?我已经编辑了我的问题,现在我已经包含了预期的结果,谢谢。这真的需要一个复杂的JS解决方案吗?这可能是一堆父级上有宽度限制的float:left
div来匹配两个div吗?我正在使用ajax加载新div并添加它们,我需要运行jQuery,它们不会自动填充。通过查看if语句可以明显看出发生了什么。第一个if和第二个else都在运行。你打算第二个if成为一个elseif吗?
<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>
$(".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');
}
});
$(".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');
}
});