Question

est l'utilisation de

e = elem.clone(true);
elem.remove();

Identique à

e = elem.detach();

Si plus tard, je joins avec

e.appendTo($("#someDiv"));

Dans jQuery 1.4
Est-ce que la méthode clone (vrai) tout préserver en utilisant détachez () fait?

Était-ce utile?

La solution

Same same mais différent: Si vous Clonage juste un nœud sans l'assigner à une variable, vous perdrez la référence du noeud copié et donc une chance de gagner une main sur ses gestionnaires d'événements et d'autres données (pas tout à fait vrai, mais est un PITA ).

EDIT Oui, la tenue d'une référence à l'élément cloné vous avez une copie exacte (le vrai esprit si param) qui peut ensuite être ajouté au DOM.

Autres conseils

La façon dont je l'ai lu, ce serait des approches équivalentes:

De documentation pour Détacher () :

  

La méthode .detach () est la même que   .remove (), sauf que .detach () conserve   toutes les données associées à la jQuery   éléments supprimés. Cette méthode est   utile lorsque les éléments démontés sont à être   réinsérés dans les DOM à une date ultérieure   temps.

De documentation pour le clone () :

.clone ([withDataAndEvents])

  

withDataAndEvents une valeur booléenne indiquant   si les gestionnaires d'événements devraient être   copié en même temps que les éléments. À partir de   des données d'éléments jQuery 1.4 seront copiés   ainsi.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top