Pergunta

Eu tenho uma div que precisa ser movido de um lugar para outro no DOM. Então, no momento eu estou fazendo isso assim:

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

Mas, IE, sendo, assim, IE, ele não funciona. Ele funciona todos os outros navegadores, mas não no IE.

Eu preciso fazê-lo desta forma que o elemento (div) 'oUpdater_About' precisa ser reutilizados, uma vez que é preenchido mais e mais.

Então eu só precisa ser capaz de mover a div ao redor do DOM, appendChild vai deixar que isso aconteça em todos os navegadores, mas, IE.

Agradecemos antecipadamente!

Foi útil?

Solução

Você tem que remover o nó em primeiro lugar, antes que você possa anexá-lo em qualquer outro lugar. Um nó não pode estar em dois lugares ao mesmo tempo.

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

Outras dicas

Certifique-se de clonar o oUpdater_About (com node.cloneNode (true)) Desta forma, você obter uma cópia e pode reutilizar o dom-trecho tão frequentemente como você quer (em qualquer navegador)

Este post tende a sugerir que há de fato um problema com appendChild com relação a esta:

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

Você já tentou clonar-lo, removê-lo, em seguida, inserir o clone vez?

James

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top