11
votes

éléments de clonage, évitant plus d'un clone à la fois lors de l'addition

http://jsfiddle.net/p57hm/

Je veux simplement un clone de plus sur chaque Cliquez sur. Ai-je manqué quelque chose d'évident_ merci

script: xxx

html: xxx


0 commentaires

8 Réponses :


37
votes

3
votes

Vos clones ont toujours la classe clonitem code> donc sont donc clonés à nouveau. Soit supprimer cette classe ou changer le sélecteur afin qu'il ne les inclure pas.

Quelque chose comme ça, ajoutant les clones de la classe et filtrant ces éléments: P>

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


1 commentaires

$ ('. Clonitem') pourrait toujours être plus d'un élément. Pourrait être une bonne idée d'utiliser une carte d'identité plutôt que d'une classe pour le modèle d'élément (élément à clone).



-1
votes
$(function(){
    var clone = $('.cloneitem').clone();
    $('input').click(function(){
        clone.clone().appendTo('#container');
    });
});
http://jsfiddle.net/tZuDe/

0 commentaires

4
votes

$ ('. CLONEITEM') CODE> Sélectionne tous les éléments avec CLONEITEM CODE> Classe.

Utiliser .First () Code>: P >

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


0 commentaires

0
votes

Vous clonez tous les éléments avec une classe "clonitem", donc dans la première fois qu'il clôture une fois, dans la deuxième fois, il cloné deux .. U peut le réparer en filtrant uniquement le premier objet comme celui-ci: xxx

Vous pouvez également sélectionner toujours le dernier: xxx

ou juste Bind .clone () au premier élément: xxx


0 commentaires

1
votes

Vous clonant un élément avec la classe "cloneItem" puis ajoute l'élément cloné avec la même classe causant des problèmes pour le clone suivant.

$(function() {

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

});


1 commentaires

Vous devez supprimer le .First () , car il est désygray, car la classe Clones CloneItem est supprimée, elles ne seront pas clonées de toute façon. De cette façon, plusieurs articles peuvent être clonés à la fois, si vous le souhaitez.



1
votes

avait le même problème. Ajoutez un ID à la DIV que vous souhaitez cloner de cette façon c'est unique. Un élément ne peut avoir qu'un seul identifiant mais de nombreuses classes.


0 commentaires

0
votes
        $("#addmore").on('click',function(event){
            event.preventDefault();
            $("tr:eq(1)").clone().appendTo("tbody");        
        });
//you can use :eq(index) selector to target which row you want to clone.

0 commentaires