2014-12-31 67 views
0

我克隆一個元素並存儲到對象中。同時創建我添加到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

你只有一個克隆工作。循環的每次迭代只會將相同的克隆添加到相同的元素,實際上什麼都不做。也許你打算把'.clone'調用放在循環中? http://jsfiddle.net/L6q58tf9/ – blgt

回答

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')一次,所以你總是追加相同的元素。相反,您應該在每次迭代時克隆元素。

相關問題