我在这里有一个非常简单的jsfiddle:
它包含这个html:
<svg></svg>
这个javascript:
alert(document.getElementsByTagName("svg")[0].children);
我希望它提醒类似&#34; [Object HtmlCollection]&#34;。但是在IE 11中,它给出了&#34; undefined&#34;。似乎children
属性没有在SVGSVGElement
上定义,尽管互联网上声称IE 11确实支持svg。是什么赋予了?
答案 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。