Question

J'ai une div qui doit être déplacée d'un endroit à un autre dans le DOM. Donc, pour le moment, je le fais comme ça:

flex.utils.get('oPopup_About').appendChild(flex.utils.get('oUpdater_About'));

Mais, IE, étant, eh bien, IE, cela ne fonctionne pas. Cela fonctionne sur tous les autres navigateurs, mais pas dans IE.

Je dois le faire de cette façon, car l'élément (div) 'oUpdater_About' doit être réutilisé car il est rempli à plusieurs reprises.

Il faut donc que je puisse déplacer le div dans le DOM, appendChild le laissera dans tous les navigateurs, mais IE.

Merci d'avance!

Était-ce utile?

La solution

Vous devez d'abord supprimer le nœud avant de pouvoir l'ajouter ailleurs. Un nœud ne peut pas être à deux endroits en même temps.

var node = flex.utils.get('oUpdater_About')
node.parentNode.removeChild(node);
flex.utils.get('oPopup_About').appendChild(node);

Autres conseils

assurez-vous de cloner l'oUpdater_About (avec node.cloneNode (true)) De cette façon, vous obtenez une copie et pouvez réutiliser l'extrait dom aussi souvent que vous le souhaitez (dans n'importe quel navigateur)

Ce message suggère en général qu’il existe un problème avec appendChild par rapport à ceci:

http://metadeveloper.blogspot.com/2007 /01/ie-7-appendchild-bug.html

Avez-vous essayé de le cloner, de le supprimer, puis d'insérer le clone à la place?

James

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