-->

使用appendChild在IE6 / IE7不能与现有的工作内容(appendChild in I

2019-10-17 05:43发布

我有一个需要被移动从一个地方到另一个DOM中的股利。 所以此刻我在做它像这样:

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

但是,IE浏览器,是,好,IE浏览器,这是行不通的。 它的工作原理其他所有浏览器,只是没有在IE浏览器。

我需要这样做的元素(DIV)“oUpdater_About”需要,因为它是填充遍地重复使用。

所以我只需要能够移动的div周围的DOM,使用appendChild将让这种事情发生在所有的浏览器,但IE浏览器。

提前致谢!

Answer 1:

你必须先删除节点,可以附加任何其他地方之前。 一个节点不能在同一时间两个地方。

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


Answer 2:

确保克隆oUpdater_About(与node.cloneNode(真)),这样你会得到一个副本,可以经常只要你想重复使用DOM的片断(在任何浏览器)



Answer 3:

这篇文章似乎表明的确存在着与使用appendChild问题相对于这一点:

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

您是否尝试克隆它,删除它,然后将克隆呢?

詹姆士



文章来源: appendChild in IE6/IE7 does not work with existing elements