2011-11-28 56 views

回答

28

試試這個http://jsfiddle.net/p57hm/1/

$(function(){ 

    $('input').click(function(){ 
     $('.cloneitem:first').clone().appendTo('#container'); 
    }); 

}); 

目前您正克隆所有具有類元素.cloneitem但你一次只需要1個,所以你不想全選e .cloneItem但只是第一個,並克隆那一個。

+0

是的,只是想通了,雖然 – Johan

+0

非常感謝你的工作100% –

3

您的克隆仍具有類cloneitem,因此正在被克隆。 刪除此類或更改選擇器,使其不包含它們。

像這樣,加入類克隆,並過濾掉這些項目:

$(function(){ 
    $('input').click(function(){ 
     $('.cloneitem').not('.cloned').clone().addClass('cloned').appendTo('#container'); 
    });  
}); 

http://jsfiddle.net/infernalbadger/p57hm/4/

+0

$('。cloneitem')可能仍然不止一個元素。對元素模板(要克隆的元素)使用ID而不是類是個好主意。 – Stefan

-1
$(function(){ 
    var clone = $('.cloneitem').clone(); 
    $('input').click(function(){ 
     clone.clone().appendTo('#container'); 
    }); 
}); 

http://jsfiddle.net/tZuDe/

1

$('.cloneitem')選擇與cloneitem類的所有元素。

使用.first()

$('input').click(function(){ 
    $('.cloneitem').first().clone().appendTo('#container'); 
}); 
0

你是克隆的所有元素以「cloneitem」類,所以在第一次克隆一次,第二次將其克隆2 .. U可以修復它通過過濾只有第一個對象是這樣的:

$(function(){ 

    $('input').click(function(){ 
     $('.cloneitem').first().clone().appendTo('#container'); 
    }); 

}); 

您也可以隨時選擇最後一個:

$('.cloneitem').last().clone().appendTo('#container'); 

或者只是綁定.clone()的第一個項目:

$('.cloneitem:first').clone().appendTo('#container'); 
1

你克隆一個元素與類「cloneitem」隨後還追加與同一類問題引起的下一個克隆的克隆元素。

$(function() { 

    $('input').click(function(){ 
     $('.cloneitem').first().clone().removeClass('cloneItem').appendTo('#container'); 
    }); // edited 

}); 
+0

您應該刪除'.first()',因爲它是不明智的,因爲cloneItem類被刪除,它們不會被克隆。如果需要,可以一次克隆多個項目。 – HopefullyHelpful

1

有同樣的問題。向想要克隆的div添加一個id,這種方式是唯一的。一個元素只能有一個id,但有很多類。