Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在循环jQuery上添加元素_Javascript_Jquery_Loops - Fatal编程技术网

Javascript 在循环jQuery上添加元素

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); } }); 我有点理解为什么这不

我试图生成一个16框的网页加载行

这是我的密码:

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);