Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.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 - Fatal编程技术网

Javascript jQuery多次追加元素

Javascript jQuery多次追加元素,javascript,jquery,Javascript,Jquery,我目前正在尝试将n个div添加到正文底部,但是使用以下代码: star = $('<div class="star" />'); for(i=0; i<12; i++) { $('body').append(star); } star=$(''); 对于(i=0;i而不是执行12个DOM修改,为什么不执行,然后只使用一个调用 试试这个 var star = '<div class="star" />SomeTest</div>'; for

我目前正在尝试将n个div添加到正文底部,但是使用以下代码:

star = $('<div class="star" />');

for(i=0; i<12; i++) {
    $('body').append(star); 
}
star=$('');

对于(i=0;i而不是执行12个DOM修改,为什么不执行,然后只使用一个调用

试试这个

var star = '<div class="star" />SomeTest</div>';

for(i=0; i<12; i++) {
    $('body').append(star); 
}
var-star='SomeTest';
对于(i=0;i
$('body').append(新数组(13).join(“”));

应该注意的是,使用FOR循环比使用jquery进行迭代更糟糕。与FOR循环一样,每个()函数都不是异步的,因此在更大的范围内要慢得多,因为每个()实例并排运行,而FOR循环在继续下一次迭代之前等待每个迭代完成

(由于需要50名代表,不能仅发表评论。)

$(文档).ready(函数(){
星='';
变量body=$('body');
对于(i=0;i<12;i++){
正文.附加($(星号));
}
});
.star{边框:1px纯黑色;高度:20px;宽度:100px;边距底部:1px}

@richard,正如其他人所建议的,你可以在循环结束时进行循环和追加,不要追加12次,其昂贵的dom操作+1 hans,回答很好,我在回答中忘记了这个性能问题。或者更短:$('body').append(新数组(12)。join(“”));为什么不执行
“”。重复(12)
?这将添加11个div,而不是12个div。(join()
的参数是分隔符,它添加在数组中12个未定义元素之间。)
star = '<div class="star" />';
var body = $('body');

for ( i = 0; i < 12; i++ ) {
    body.append($(star));
}
var star = '<div class="star" />SomeTest</div>';

for(i=0; i<12; i++) {
    $('body').append(star); 
}
$('body').append(new Array(13).join('<div class="star" />'));