下面这段代码在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中尝试这个。
答案 0 :(得分:0)
你可能需要像importNode这样的东西,各种各样的跨浏览器解决方案。问题是每个节点上都有一个相应的文档对象,在IE中,所谓的安全性不会将一个文档从一个文档移动到另一个文档。
所以,基本上它正在进行深度克隆,但使用cloneNode之间的区别在于cloneNode还设置了你不想要的文档。
这可能会让你朝着正确的方向前进: IE support for DOM importNode
答案 1 :(得分:-2)
我建议使用专为您排序浏览器不兼容的库。我个人发现jQuery非常好。 jQuery有一个append函数。