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

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

最佳答案

问题在于您要多次追加相同的元素。
使用clone克隆元素,然后克隆append
$('.contain').append($span.clone());
demo

更新:

这样,您可以自定义元素,然后使用所有属性对其进行克隆。

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

demo2

Update2 :根据this的注释。
$('.contain').append('<span class="yourClass"/>');

关于jquery - 为什么只 append 一次?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12810461/

10-16 22:15