2014-03-19 28 views
4

我有一個非常簡單的jsfiddle這裏:SVGSVGElement.children無法在IE11中工作?

http://jsfiddle.net/9uS3u/

它是由這個網站的:

<svg></svg> 

而且此javascript:

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

我希望它提醒像「[對象HtmlCollection]」。但在IE 11中,它給出了「未定義」。儘管在互聯網上聲稱IE 11確實支持svg,但children屬性在SVGSVGElement上沒有定義。是什麼賦予了?

回答

9

我認爲答案是,children屬性是DOM規範,在那裏你會在Node interface找到childNodes的尚未正式組成部分,但不是children(既不在Element interface)。欲瞭解更多信息(特別是childrenchildNodes之間的差異),請看this other answer

2

在我到目前爲止的研究中,svg由IE作爲SVGGElement支持,其中的children屬性是HTMLCollection元素的一部分。所有其他瀏覽器似乎都將SVG視爲HTMLCollections。爲什麼IE對待SVG的方式與其他瀏覽器不同,我無法回答,但這很煩人,使我寫了各種各樣的解決方法來即時操作SVG。