AppendChild issue with Internet Explorer Javascript



下面的代码在Firefox和Chrome中可以正常工作,但在IE中却让我很头疼。

var anotherDiv= document.getElementById("anotherDiv");
var destination = document.getElementById("mySourceDiv");    
destination.appendChild(anotherDiv);

我试图得到一个Div元素,并把它放在另一个Div。我得到一个错误消息(在IE的调试控制台中)类似于"不支持接口",并将我指向appendChild行。我看到的是,目标变量的类型是一个对象,而不是一个DOM元素。

我能做些什么来附加另一个div到mySourceDiv?

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

所以,本质上它是在做一个深度克隆,但使用cloneNode的区别在于cloneNode也会设置你不想要的文档。

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

我建议使用专门为您整理浏览器不兼容性的库。我个人认为jQuery非常好。jQuery有一个追加函数

最新更新