【发布时间】:2009-08-05 10:36:17
【问题描述】:
我有一个 div 需要在 DOM 中从一个地方移动到另一个地方。所以目前我正在这样做:
flex.utils.get('oPopup_About').appendChild(flex.utils.get('oUpdater_About'));
但是,IE,好吧,IE,它不起作用。它适用于所有其他浏览器,只是不适用于 IE。
我需要这样做,因为元素 (div) 'oUpdater_About' 需要重复使用,因为它会一遍又一遍地填充。
所以我只需要能够在 DOM 周围移动 div,appendChild 会让这发生在所有浏览器中,但是,IE。
提前致谢!
【问题讨论】:
-
appendChild 一直在 IE 中为我工作。您确定“flex.utils.get”返回的是一个实际的 DOM 元素节点,而不是一些特定于库的类似节点的对象吗?
-
当然,这只是 document.getElementById 脚本的包装。我试图用 document.getElementById 替换它,同样的问题。问题可能是我没有即时创建元素吗?它已经存在于 DOM onload 中。理论上不应该!但你知道 IE。
-
我从来没有遇到过这个问题; IE 对我来说一直正常工作,从其现有父级中删除元素并将其附加到新父级。在进行追加之前尝试将两个节点都放入变量中,这样您就可以使用 alert() (或您首选的调试工具),以确保您得到了您认为得到的结果。
-
还有一件事:如果您尝试追加的元素是表格,我相信 IE 会强制您显式找到 tbody 元素并追加到该元素。
标签: javascript internet-explorer dom appendchild