使用Internet Explorer Javascript的AppendChild问题

时间:2011-11-11 13:45:00

标签: javascript internet-explorer html internet-explorer-8 appendchild

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

2 个答案:

答案 0 :(得分:0)

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

所以,基本上它正在进行深度克隆,但使用cloneNode之间的区别在于cloneNode还设置了你不想要的文档。

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

答案 1 :(得分:-2)

我建议使用专为您排序浏览器不兼容的库。我个人发现jQuery非常好。 jQuery有一个append函数。