【发布时间】:2011-11-11 22:58:34
【问题描述】:
下面这段代码,在 Firefox 和 Chrome 中都能正常运行,但在 IE 中却让我头疼。
var anotherDiv= document.getElementById("anotherDiv");
var destination = document.getElementById("mySourceDiv");
destination.appendChild(anotherDiv);
我正在尝试获取一个 div 元素并将其放置在另一个 div 中。 我收到类似于“不支持接口”的错误消息(在 IE 的调试控制台中),并将我指向 appendChild 行。 我所看到的是目标变量的类型是一个对象而不是一个 DOM 元素。
如何将 anotherDiv 附加到 mySourceDiv? 我正在 IE 8 中尝试这个。
【问题讨论】:
-
在重新附加之前,您是否尝试过从“anotherDiv”的父级显式调用“removeChild”?
-
我现在试试,chrome和firefox会自动删除那个div。
-
@Pointy 我试过了,还是不行。我从 window.opener.document.getElementById("...") 获取对该 div 的引用,它返回一个对象而不是 DOM 对象。当我尝试做 removeChild 时,我得到 Invalid 参数。我试图移动的 div 来自另一个窗口,我正试图将它放在那个弹出窗口中。
-
啊 - 所以你想把一个 DOM 元素从一个窗口拖到另一个窗口?好吧,我(部分迷信)的信念是,IE 对像这样在上下文之间徘徊的东西非常挑剔。但是我不能说我确定这就是问题所在。
-
试过
anotherDiv.cloneNode()?
标签: javascript internet-explorer html internet-explorer-8 appendchild