Javascript 在循环jQuery上添加元素
我试图生成一个16框的网页加载行 这是我的密码:Javascript 在循环jQuery上添加元素,javascript,jquery,loops,Javascript,Jquery,Loops,我试图生成一个16框的网页加载行 这是我的密码: var box = $("<div></div>").addClass("box"); $(document).ready(function(){ for(var i = 0; i < 16; i++) { $("#container").append(box); } }); 我有点理解为什么这不
var box = $("<div></div>").addClass("box");
$(document).ready(function(){
for(var i = 0; i < 16; i++) {
$("#container").append(box);
}
});
我有点理解为什么这不起作用。var框
仅引用元素,而不是元素的副本
你可能知道,我是新来的。我真的很想得到一些关于如何做到这一点的建议。谢谢。为什么不这样使用呢
for(var i = 0; i < 16; i++) {
$("#container").append('<div class="box box-'+i+'" />');
}
for(变量i=0;i<16;i++){
$(“#容器”)。附加(“”);
}
您在一次又一次地追加同一个div。这只会移动它(在本例中,正好回到原来的位置)。对于新的div
,每次:
$(document).ready(function(){
var ctr = $('#container');
for(var i = 0; i < 16; i++) {
ctr.append("<div class='box'></div>");
}
});
我建议不要在循环中使用
append
。我建议:
var buffer = [];
for(var i = 0; i < 16; i++) {
buffer.push("<div class='box'></div>");
}
var html=buffer.join('');
$('#container').append(html);
var buffer=[];
对于(变量i=0;i<16;i++){
buffer.push(“”);
}
var html=buffer.join(“”);
$('#container').append(html);
会留下奇怪的属性:
等等。您可能指的是“$”(“#容器”)。append(“”)<代码>$(“#容器”).append(box.clone())代码>将起作用。更有效地做这件事,因为字符串思想似乎很简单,现在你已经向我展示了如何,哈!谢谢你,保罗。我也将用这个方法来做一个游戏。谢谢
var buffer = [];
for(var i = 0; i < 16; i++) {
buffer.push("<div class='box'></div>");
}
var html=buffer.join('');
$('#container').append(html);