我尝试获取属性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