在循环中追加jquery元素和其他jquery元素

时间:2014-09-08 08:33:22

标签: jquery for-loop

function test() {
    var a = $('<p>'),
        b = $('<div>')

    for (var i = 0; i < 10; i++) {
        b.append(a)
    }

    console.log(b)
}

此函数在其中创建1个元素,其中包含1个

元素。为什么没有10个

元素?如何循环多次

元素?

4 个答案:

答案 0 :(得分:1)

当你附加一个元素时,因为它只有一个父元素,你可以从它的古老位置删除它。

所以你必须在附加之前克隆它:

for (var i = 0; i < 10; i++) {
    b.append(a.clone())
}

答案 1 :(得分:1)

append()函数移动你的对象。 您应该在clone()

之前使用append()
function test() {
    var a = $('<p>'),
        b = $('<div>')

    for (var i = 0; i < 10; i++) {
        b.append(a.clone())
    }

    console.log(b)
}

答案 2 :(得分:0)

试试这个:

for (var i = 0; i < 10; i++) {
    b = b.append(a);
}

答案 3 :(得分:0)

每次循环时都需要创建一个新元素,而不是重复使用相同的元素,因为元素只能在DOM中的一个位置。

for (var i = 0; i < 10; i++) {
    b.append($("<p>"));
}