我有一个div需要在DOM中从一个地方移动到另一个地方。所以目前我这样做:
flex.utils.get('oPopup_About').appendChild(flex.utils.get('oUpdater_About'));
但是,IE,好吧,IE,它不起作用。它适用于所有其他浏览器,而不是IE浏览器。
我需要这样做,因为元素(div)'oUpdater_About'需要重复使用,因为它一遍又一遍地填充。
所以我只需要能够在DOM周围移动div,appendChild会让这种情况发生在所有浏览器中,但是,IE。
提前致谢!
答案 0 :(得分:2)
您必须首先删除该节点,然后才能将其附加到其他任何位置。 一个节点不能同时在两个地方。
var node = flex.utils.get('oUpdater_About')
node.parentNode.removeChild(node);
flex.utils.get('oPopup_About').appendChild(node);
答案 1 :(得分:1)
确保克隆oUpdater_About(使用node.cloneNode(true)) 通过这种方式,您可以获得副本并可以根据需要重复使用dom-snippet(在任何浏览器中)
答案 2 :(得分:0)
这篇文章倾向于表明appendChild确实存在这方面的问题:
http://metadeveloper.blogspot.com/2007/01/ie-7-appendchild-bug.html
您是否尝试过克隆,删除它,然后插入克隆?
詹姆斯