jquery - 对循环创建的jquery对象进行分组或连接,以便只使用appendTo一次

时间:2012-03-10 02:58:38

标签: jquery for-loop concatenation

我有一个for循环来生成一行div s,我的代码是

for(j=0; j<7; j++) {
   $('<div/>', {
     id: 'unique',
     html: 'whatever'
}).appendTo('#container');

此代码似乎为每次迭代寻找#container并为其添加一个新的div。

如何编写代码以便我可以先创建所有div然后一次追加到容器中?抱歉,我尝试搜索连接/分组/添加jquery对象等关键字,并且似乎没有正确的搜索结果。

TIA

2 个答案:

答案 0 :(得分:7)

Xander的解决方案应该可以正常工作。我个人不喜欢在js中使用'long'HTML字符串。这是一个看起来与您的代码更相似的解决方案。

var elements = [];
for(j=0; j<7; j++) {
    var currentElement = $('<div>', { id: i, text: 'div' });
    elements.push(currentElement[0]);
}
$('#container').append(elements);

答案 1 :(得分:4)

这可能会有所帮助

var htm = '';
for(j=0; j<7; j++) {
     htm+= '<div id="unique_'+i+'">whatever</div>';
}

$('#container').html(htm); // Or append instead of html