7
votes

JQuery Cloneto au lieu d'appends?

J'essaie d'utiliser JQuery AppendTo afin de copier un élément dans un autre conteneur. L'objet est effectivement ajouté mais, il est retiré de la source. Y a-t-il une façon de pouvoir ajouter l'élément tout en laissant l'élément source où il est? Appelez cela Copier appelez-le clone appelez ce que vous avez envie.

Voici mon code actuel: P>

jQuery(document).ready(function()
{
    jQuery('#button').appendTo('#panel'); //button should appear ALSO in panel.
});


1 commentaires

Fini ici et découvert que je cherchais vraiment détach () au lieu de clone . Détacher supprime l'élément du DOM mais conserve des liaisons de données afin que les gestionnaires d'événements fonctionnent toujours lorsque vous ANNEZ L'élément ailleurs. API.JQUERY.com/DeTACH


3 Réponses :


12
votes

Fermer, mais pas assez proche. Le code ci-dessous sera clone () code> l'élément puis l'annexez dans #panel code>.

jQuery(document).ready(function()
{
    jQuery('#button').clone().attr('id', 'newbutton').appendTo('#panel');
});


0 commentaires

1
votes

Le code dont vous aurez besoin d'exécuter est la suivante:

jQuery(document).ready(function()
{
    jQuery('#button').clone().appendTo('#panel'); //button should appear ALSO in panel.
});


1 commentaires

Je sais que c'est vraiment vieux, mais devoyez à savoir que l'identifiant est dupliqué qui produit HTML invalide. I.e.a href="https://stackoverflow.com/a/25493852/125981"> Stackoverflow.com/a/25493852/125981



5
votes

Appelez simplement la méthode clone () CODE> sur votre objet de jQuery sélectionné avant de l'ajouter:

$('#button').clone().attr('id', 'button-clone').appendTo('#panel');


0 commentaires