所有
我想做的是:
<div id="container">
<div class="unwanted"></div>
<div class="unwanted"></div>
<svg><rect></rect></svg>
<div class="unwanted"></div>
<div>
如何为该svg获取#container的innerHTML,所以我得到的是:
"<svg><rect></rect></svg>"
答案 0 :(得分:1)
答案 1 :(得分:1)
在这种情况下,这将为您提供所需的内容:
document.getElementById('container').getElementsByTagName('svg')[0].innerHTML;
答案 2 :(得分:0)
jquery的
var container = $("#container").html().find('svg');
// or
$("#container svg").html();
//return <rect></rect> you can use '<svg>'+container+'</svg>'
的javascript
var container = document.getElementById('container');
var svg = container.getElementsByTagName('svg')[0].innerHTML;
//return <rect></rect> you can use '<svg>'+container+'</svg>'
或在Why .html() doesn't work with SVG selectors using jquery ?
上查看@ Duopixel的答案var svg = document.getElementById('svg_root'); // or whatever you call it
var serializer = new XMLSerializer();
var str = serializer.serializeToString(svg);