创建和附加到对象不会产生必要的结果

时间:2014-12-31 15:28:32

标签: jquery

我正在克隆一个元素并存储到对象。创建我添加到div并追加创建新元素的对象。但我没有得到loop决定的输出。

这是代码:

var obj = {el:{}};

var newdiv = $('.div').clone();

var col = $('<div />');

for(i=0;i<10; i++) {
    obj.el['el'+i] == undefined ? obj.el['elm'+i] = {} : null;
    obj.el['el'+i] = newdiv.removeClass('div').addClass('show');
    $(obj.el['el'+i]).appendTo(col);
}

$(col).appendTo('#content');

console.log(col.children());

Live

1 个答案:

答案 0 :(得分:1)

我想你想要

var $newdiv = $('.div').clone().removeClass('div').addClass('show'),
    $col = $('<div />');

for(var i=0; i<10; i++)
    $newdiv.clone().appendTo($col);

$col.appendTo('#content');

console.log($col.children());

在您的代码中,您只克隆了$('.div')一次,因此您总是附加相同的元素。相反,您应该在每次迭代时克隆元素。