1

我有一个 div 需要在 DOM 中从一个地方移动到另一个地方。所以目前我正在这样做:

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

但是,IE,嗯,IE,它不起作用。它适用于所有其他浏览器,只是不适用于 IE。

我需要这样做,因为元素(div)'oUpdater_About'需要被重复使用,因为它被一遍又一遍地填充。

所以我只需要能够在 DOM 周围移动 div,appendChild 会让这发生在所有浏览器中,但是,IE。

提前致谢!

4

3 回答 3

2

您必须先删除该节点,然后才能将其附加到其他任何位置。一个节点不能同时在两个地方。

var node = flex.utils.get('oUpdater_About')
node.parentNode.removeChild(node);
flex.utils.get('oPopup_About').appendChild(node);
于 2009-08-05T11:08:38.303 回答
1

确保以这种方式克隆 oUpdater_About(使用 node.cloneNode(true)),您可以获得副本,并且可以根据需要(在任何浏览器中)重复使用 dom-snippet

于 2009-08-05T10:43:47.573 回答
0

这篇文章倾向于表明 appendChild 确实存在与此相关的问题:

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

您是否尝试过克隆它,删除它,然后插入克隆?

詹姆士

于 2009-08-05T10:55:32.307 回答