2012-07-18 6 views
1

Comment puis-je copier tout le contenu d'une div (y compris les données de mémoire pour les entrées ou d'autres variables) et les placer dans un autre div?Copier le contenu d'une division dans la seconde division

J'ai essayé d'utiliser la propriété innerHTML, mais cela ne copie pas les informations entrées dans les zones de texte entre-temps.

Quelqu'un a-t-il des solutions?

Répondre

4

javascript Plain utiliser var clone = [somediv].cloneNode(true). Assurez-vous de changer l'identifiant du clone, le cas échéant! cloneNode(true) va copier toutes les propriétés et les nœuds enfants de l'original, afiak il copiera également les valeurs des champs d'entrée. Il ne copiera pas les gestionnaires assignés à l'élément d'origine. Voir aussi MDN

J'ai édité this jsfiddle (destiné à répondre à une autre question SO) pour le démontrer.

1

Vous pouvez utiliser jQuery de .clone(true): http://api.jquery.com/clone/

+1

tag jQuery est pas présent, assurez-vous que jQuery est une option pour lui –

+0

@Forte L., oui, j'ai remarqué cela et édité ma réponse. – mdziekon

+0

ah cool, existe-t-il des variantes non jquery (la librairie n'est pas utilisée dans ce projet, semblerait folle de la charger juste pour une chose) – topherg

1

Sans jQuery, vous pouvez utiliser

var clone = cloneNode(true); 

puis ajouter ce nœud whereever vous aimez tels que

var targetNode = documentGetElementById('someID'); 
targetNode.appendChild(clone); 
Questions connexes