5

此循环(请参阅jsfiddle)尝试将<span>标签附加到容器五次。但它只做一次。为什么?

var myArr = [0,1,2,3,4];
var $span= $('<span></span>');
for (var i = 0; i < (myArr.length); i++) {
    $('.contain').append($span);
}
4

1 回答 1

7

问题是您多次附加相同的元素。
用于clone克隆元素,然后append.

$('.contain').append($span.clone());

演示

更新

通过这种方式,您可以自定义元素,然后使用所有属性克隆它。

var $span = $('<span/>', {
                    'class': 'someClass otherClass',
                    'css': {
                         'background-color': '#FF0000'
                     }
            });
for (var i = 0; i < (myArr.length); i++) {
    $('.contain').append($span.clone());
}

演示2

Update2:根据评论。

$('.contain').append('<span class="yourClass"/>');

于 2012-10-10T00:53:09.523 回答