我嘗試獲取屬性innerSVG
值和catch undefined
。 InnerSVG在IE11中爲SVG元素爲空
不明白請去安慰內容,我用jQuery('#main_svg')[0].innerSVG
我嘗試獲取屬性innerSVG
值和catch undefined
。 InnerSVG在IE11中爲SVG元素爲空
不明白請去安慰內容,我用jQuery('#main_svg')[0].innerSVG
沒有任何標準沒有innerSVG財產。根據DOM Parsing and Serialization specElement.innerHTML
應該也適用於SVG或其他XML內容。
在2009年,庫innnerSVG發佈到
提供所有SVGElements
這顯然,在那個時候,並沒有在所有的瀏覽器innerHTML屬性。它包含自己的XML序列化器的實現。源代碼中的衆多評論似乎表明這是一個相當不完整的內容。
由於Internet Explorer 9,它不再真的需要,因爲有支持XMLSerializer
。雖然IE 11似乎有一個bug和innerHTML
不返回的內容,這將工作:
function getInnerHTML (el) {
if (el.innerHTML === undefined) {
var XMLS = new XMLSerializer();
var nodes = [];
for (var i = 0; i < el.childNodes.length; i++) {
nodes.push(XMLS.serializeToString(el.childNodes[i]));
}
return nodes.join('');
} else {
return el.innerHTML;
}
}
我需要在ie中替換內部svg結構,我該怎麼做? 在其他瀏覽器我使用svg.innerHTML = someXML;' –
我沒有測試過它,但[此功能](https://github.com/dnozay/innersvg-polyfill/blob/master/innersvg.js# L61)應該工作。 – ccprog
你有沒有加載[庫](https://code.google.com/archive/p/innersvg /)? – ccprog
我需要什麼圖書館? –
任何標準都沒有innerSVG屬性。這個庫的發明是將innerHTML轉換爲SVG內容。因此,請使用此庫或[Snap.svg](http://snapsvg.io/docs/#Element.innerSVG),它具有innerSVG()函數,或根本不使用它。 – ccprog