下面这段代码,在 Firefox 和 Chrome 中可以正常运行,但在 IE 中却让我头疼。
var anotherDiv= document.getElementById("anotherDiv");
var destination = document.getElementById("mySourceDiv");
destination.appendChild(anotherDiv);
我正在尝试获取一个 Div 元素并将其放在另一个 div 中。 我收到类似于“不支持接口(interface)”的错误消息(在 IE 的调试控制台中),并将我指向 appendChild 行。 我所看到的是目标变量的类型是对象而不是 DOM 元素。
如何将 anotherDiv 附加到 mySourceDiv? 我正在 IE 8 中尝试这个。
最佳答案
您可能需要像 importNode 这样的东西,周围有各种跨浏览器解决方案。问题是每个节点上都有一个对应的文档对象,在 IE 中,所谓的安全性不能很好地将内容从一个文档移动到另一个文档。
所以,本质上它是在进行深度克隆,但是使用 cloneNode 的区别在于 cloneNode 还会设置您不需要的文档。
这可能会让您朝着正确的方向前进: IE support for DOM importNode
关于javascript - Internet Explorer Javascript 的 AppendChild 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8094819/