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

时间:2011-11-28 15:29:44

标签: jquery

http://jsfiddle.net/p57hm/

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

脚本:

$(function(){

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

});

HTML:

<input type="button" value="clone it"/>

<div id="container"></div>

<div class="cloneitem">clone</div>

8 个答案:

答案 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');
    });    
});

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

答案 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');
    });
});

http://jsfiddle.net/tZuDe/