11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,
(Merci aux admins, bon courage à vous Smiley cligne )

<div id="Dolly">
<ul>
   <li/>doli
   <li/>dola
   <li/>dolu
</ul>
</div>

Je souhaite recopier le même div.
En suivant la doc, j'ai fait :

 Dolly2 = document.getElementById("Dolly").cloneNode(true);
	document.getElementById("Dolly").appendChild(Dolly2);

Toutefois, le code inclut le nouveau div dans l'ancien.

Pareil, pour le code mis en exemple dans la doc, il ne crée pas un 2nd SPAN
http://fr.selfhtml.org/javascript/objets/node.htm#clone_node
Modifié par Clairdelune (11 Jun 2007 - 14:02)
Salut,

Si on voit ça comme un copier/coller, le code suivant
var dolly2 = document.getElementById("Dolly").cloneNode(true);
te permet de copier la div. Il te reste à la "coller".

La méthode que tu utilises pour "coller" (appendChild) ajoute l'élément à la fin d'un autre (à l'intérieur). Si tu veux ajouter la nouvelle div après l'originale (je crois deviner que c'est ce que tu veux...), il te faut utiliser appendChild() non pas sur dolly, mais sur l'élément qui la contient (son parent, quoi) :
document.getElementById("IdDuParentDeDolly").appendChild(Dolly2);

/* ou autrement */
document.getElementById("Dolly").parentNode.appendChild(Dolly2);