2

以下代码在 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 中尝试这个。

4

2 回答 2

0

您可能需要像 importNode 这样的东西,周围有各种跨浏览器解决方案。问题是每个节点上都有一个相应的文档对象,在 IE 中,所谓的安全性不能很好地将东西从一个文档移动到另一个文档。

因此,本质上它是在进行深度克隆,但使用 cloneNode 的区别在于 cloneNode 还设置了您不想要的文档。

这可能会让你朝着正确的方向前进: IE support for DOM importNode

于 2011-11-11T14:58:34.860 回答
-2

我建议使用旨在为您解决浏览器不兼容问题的库。我个人认为 jQuery 非常好。jQuery 有一个追加功能。

于 2011-11-11T14:33:24.517 回答