我想在每次点击时再想要一个克隆。我错过了一些明显的东西_谢谢
脚本:
$(function(){
$('input').click(function(){
$('.cloneitem').clone().appendTo('#container');
});
});
HTML:
<input type="button" value="clone it"/>
<div id="container"></div>
<div class="cloneitem">clone</div>
答案 0 :(得分:34)
试试这个http://jsfiddle.net/p57hm/1/
$(function(){
$('input').click(function(){
$('.cloneitem:first').clone().appendTo('#container');
});
});
目前,您正在克隆具有类.cloneitem
的所有元素,但您一次只需要1个,因此您不希望选择所有.cloneItem
,而只选择第一个,并且克隆那一个。
答案 1 :(得分:3)
您的克隆仍然具有类cloneitem
,因此会再次克隆。
删除此类或更改选择器,使其不包含它们。
像这样,添加类克隆并过滤掉这些项:
$(function(){
$('input').click(function(){
$('.cloneitem').not('.cloned').clone().addClass('cloned').appendTo('#container');
});
});
答案 2 :(得分:3)
$('.cloneitem')
选择cloneitem
类的所有元素。
使用.first()
:
$('input').click(function(){
$('.cloneitem').first().clone().appendTo('#container');
});
答案 3 :(得分:1)
您正在使用“cloneitem”类克隆一个元素,然后使用相同的类附加克隆元素,从而导致下一个克隆出现问题。
$(function() {
$('input').click(function(){
$('.cloneitem').first().clone().removeClass('cloneItem').appendTo('#container');
}); // edited
});
答案 4 :(得分:1)
有同样的问题。将id添加到要以其唯一方式克隆的div。一个元素只能有一个id但很多个类。
答案 5 :(得分:0)
您正在使用'cloneitem'类克隆所有元素,因此在第一次克隆一次时,第二次克隆两个元素。 U可以通过仅过滤第一个对象来修复它:
$(function(){
$('input').click(function(){
$('.cloneitem').first().clone().appendTo('#container');
});
});
您也可以随时选择最后一个:
$('.cloneitem').last().clone().appendTo('#container');
或者只是将.clone()绑定到第一项:
$('.cloneitem:first').clone().appendTo('#container');
答案 6 :(得分:0)
$("#addmore").on('click',function(event){
event.preventDefault();
$("tr:eq(1)").clone().appendTo("tbody");
});
//您可以使用:eq(index)选择器来定位要克隆的行。
答案 7 :(得分:-1)
$(function(){
var clone = $('.cloneitem').clone();
$('input').click(function(){
clone.clone().appendTo('#container');
});
});