Jquery 克隆元素,在添加时避免一次克隆多个
我只是想在每次点击时多克隆一个。我错过了什么明显的东西吗?谢谢 脚本:Jquery 克隆元素,在添加时避免一次克隆多个,jquery,Jquery,我只是想在每次点击时多克隆一个。我错过了什么明显的东西吗?谢谢 脚本: $(function(){ $('input').click(function(){ $('.cloneitem').clone().appendTo('#container'); }); }); HTML: 克隆 试试这个 当前,您正在克隆所有具有类.cloneitem的元素,但一次只需要1个,因此您不希望选择所有.cloneitem,而只选择第一个,然后克隆该元素。您的克隆仍然具有
$(function(){
$('input').click(function(){
$('.cloneitem').clone().appendTo('#container');
});
});
HTML:
克隆
试试这个
当前,您正在克隆所有具有类
.cloneitem
的元素,但一次只需要1个,因此您不希望选择所有.cloneitem
,而只选择第一个,然后克隆该元素。您的克隆仍然具有类cloneitem
,因此将再次进行克隆。
删除此类或更改选择器,使其不包含它们
类似这样,添加类克隆并过滤掉这些项:
$(function(){
$('input').click(function(){
$('.cloneitem').not('.cloned').clone().addClass('cloned').appendTo('#container');
});
});
$('.cloneitem')
使用cloneitem
类选择所有元素
使用.first()
:
您使用“cloneitem”类克隆所有元素,因此第一次克隆一次,第二次克隆两次。。 您可以通过仅过滤第一个对象来修复它,如下所示:
$(function(){
$('input').click(function(){
$('.cloneitem').first().clone().appendTo('#container');
});
});
您也可以始终选择最后一个:
$('.cloneitem').last().clone().appendTo('#container');
或者只将.clone()绑定到第一项:
$('.cloneitem:first').clone().appendTo('#container');
您正在克隆一个类为“cloneitem”的元素,然后还将克隆的元素附加到同一个类中,从而导致下一个克隆出现问题
$(function() {
$('input').click(function(){
$('.cloneitem').first().clone().removeClass('cloneItem').appendTo('#container');
}); // edited
});
有同样的问题。向要以唯一方式克隆的div添加id。一个元素只能有一个id,但可以有许多类
$("#addmore").on('click',function(event){
event.preventDefault();
$("tr:eq(1)").clone().appendTo("tbody");
});
//您可以使用:eq(index)选择器以要克隆的行为目标。$(“.cloneitem”)可能仍然是多个元素。对于元素模板(要克隆的元素),最好使用ID而不是类。您应该删除
.first()
,因为这是不必要的,因为克隆克隆克隆项类已被删除,因此无论如何都不会克隆它们。这样,如果需要,可以同时克隆多个项目。
$('.cloneitem').last().clone().appendTo('#container');
$('.cloneitem:first').clone().appendTo('#container');
$(function() {
$('input').click(function(){
$('.cloneitem').first().clone().removeClass('cloneItem').appendTo('#container');
}); // edited
});
$("#addmore").on('click',function(event){
event.preventDefault();
$("tr:eq(1)").clone().appendTo("tbody");
});