关于dom:SVGSVGElement.children无法在IE11中工作?

SVGSVGElement.children not working in IE11?

我在这里有一个非常简单的jsfiddle:

http://jsfiddle.net/9uS3u/

它由以下html组成:

1
<svg></svg>

这个javascript:

1
alert(document.getElementsByTagName("svg")[0].children);

我希望它能提醒类似" [Object HtmlCollection]"的信息。但是,在IE 11中,它给出了"未定义"。尽管Internet上声称IE 11确实支持svg,但似乎children属性并未在SVGSVGElement上定义。是什么赋予了?


我认为答案是children属性尚未正式成为DOM规范的一部分,您可以在Node接口上找到childNodes,但不能在children上找到(在Element接口上都找不到) 。有关更多信息(尤其是childrenchildNodes之间的区别),请查看此其他答案。


到目前为止,在我的研究中,IE支持svg作为SVGGElement,其中children属性是HTMLCollection元素的一部分。所有其他浏览器似乎都将SVG视为HTMLCollections。为什么IE与其他浏览器对待SVG的方式有所不同,我无法回答,但这很烦人,导致我编写了各种变通办法来即时操作SVG。