克隆元素,在添加时一次避免多个克隆
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'); }); });
$('.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'); }); });