克隆元素,在添加时一次避免多个克隆

http://jsfiddle.net/p57hm/

我想在每次点击时再想要一个克隆。 我错过了一些明显的东西吗谢谢

脚本:

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

HTML:

  
clone

试试这个http://jsfiddle.net/p57hm/1/

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

目前,您正在克隆具有.cloneitem类的所有元素,但您一次只需要1个,因此您不希望选择所有.cloneItem而只是第一个。并克隆那个.cloneItem

您的克隆仍然具有类cloneitem ,因此再次克隆。 删除此类或更改选择器,使其不包含它们。

像这样的东西,添加类克隆并过滤掉这些项:

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

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

$('.cloneitem')选择具有cloneitem类的所有元素。

使用.first()

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

您正在使用类“cloneitem”克隆元素,然后还将克隆元素附加到同一个类,从而导致下一个克隆出现问题。

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

有同样的问题。 将id添加到要以其唯一方式克隆的div。 一个元素只能有一个id但很多个类。

你正在使用’cloneitem’类克隆所有元素,所以在第一次克隆一次,在第二次克隆两个..你可以通过仅过滤第一个对象来修复它:

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

您也可以随时选择最后一个:

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

或者只是将.clone()绑定到第一个项目:

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

http://jsfiddle.net/tZuDe/