SVGSVGElement.children不在IE11中工作?

时间:2014-03-19 06:31:25

标签: dom svg internet-explorer-11

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

http://jsfiddle.net/9uS3u/

它包含这个html:

<svg></svg>

这个javascript:

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

我希望它提醒类似&#34; [Object HtmlCollection]&#34;。但是在IE 11中,它给出了&#34; undefined&#34;。似乎children属性没有在SVGSVGElement上定义,尽管互联网上声称IE 11确实支持svg。是什么赋予了?

2 个答案:

答案 0 :(得分:10)

我认为答案是children属性尚未正式成为DOM规范的一部分,您可以在Node interface找到childNodes,但不会children children 1}}(Element interface上都没有)。有关详细信息(尤其是childNodes和{{1}}之间的差异),请查看this other answer

答案 1 :(得分:2)

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