我编写了动态编辑svg元素的javascript.我想获取已编辑的svg元素的新字符串,但目前我的代码失败了.我在这里找到以下代码来获取HTML文档的字符串形式.
var txt = document.documentElement.innerHTML;
Run Code Online (Sandbox Code Playgroud)
我只想要innerHTMLSVG元素.我尝试了以下代码,但收到一条错误消息"undefined".
var svgnode=document.getElementById("svgnode1");
alert(svgnode.innerHTML);
Run Code Online (Sandbox Code Playgroud)
我怎么做.Google Chrome上出现此错误,但我想要一个适用于任何浏览器的解决方案.
Mik*_*uel 10
innerHTML 是为HTML文档定义的,但不是为其他类型的XML DOM定义的.
有一些机制计划innerHTML用于SVG的类似设施. http://www.w3.org/Graphics/SVG/WG/wiki/SVG_2_DOM#innerHTML_type_facilities:
innerHTML类型的设施
如果XML具有
innerHTML类似功能,那将是一件好事.在ECMAScript字符串中编写标记可能有点痛苦,但它也可以简化很多事情,并且对于有用的场景类型可能更好,这可能意味着类似E4X的功能.调用此工具
innerHTML可能会使标记应该被解析为在XHTML命名空间中,因此可能innerMarkup或insertCode将是一个更好的名称,或者,对于textContent可能的对称性markupContent.
如果您需要的是将SVG或任何其他XML DOM转换为XML字符串的方法,请参阅https://developer.mozilla.org/en/Parsing_and_serializing_XML
XMLSerializer将DOM树序列化为字符串
或者参见/sf/answers/344182681/获取等效的IE.