Domanda

Ho un div che deve essere spostato da una posizione all'altra nel DOM. Quindi al momento lo sto facendo in questo modo:

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

Ma, IE, essendo, beh, IE, non funziona. Funziona con tutti gli altri browser, ma non in IE.

Devo farlo in questo modo poiché l'elemento (div) 'oUpdater_About' deve essere riutilizzato quando viene popolato più volte.

Quindi devo solo essere in grado di spostare il div nel DOM, appendChild consentirà che ciò accada in tutti i browser, ma IE.

Grazie in anticipo!

È stato utile?

Soluzione

Devi prima rimuovere il nodo, prima di poterlo aggiungere altrove. Un nodo non può trovarsi in due punti contemporaneamente.

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

Altri suggerimenti

assicurati di clonare oUpdater_About (con node.cloneNode (true)) in questo modo ottieni una copia e puoi riutilizzare lo snippet di dominio tutte le volte che vuoi (in qualsiasi browser)

Questo post tende a suggerire che esiste effettivamente un problema con appendChild riguardo a questo:

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

Hai provato a clonarlo, rimuoverlo e quindi inserire il clone?

James

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top