我有一个简单的SVG THML页是这样的:如何使用jQuery或JavaScript从html页面获取SVG代码?
<div id="plan">
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<g id="layer3">
<rect width="105.71429" height="80" x="351.42856" y="152.36218" id="rect1" style="fill:#008000"></rect>
<rect width="120" height="85.714287" x="500" y="389.50504" id="rect2" style="fill:#008000"></rect>
</g>
</svg>
</div>
我怎样才能得到字符串:
<rect width="105.71429" height="80" x="351.42856" y="152.36218" id="rect1" style="fill:#008000"></rect>
从这个SVG。我可以使用jquery和jquery svg。我尝试:
$(document).ready(function() {
console.log($("#plan #rect1")[0]);
})
在控制台我把这个字符串,但我必须把字符串变量是这样的:
var str = $("#plan #rect1")[0];
变量str是[对象SVGRectElement] [进入链接这里描述] 1
我使用var str = $(“#plan>#rect1”)[0];警报(STR);但str未定义 – VasyambaTula 2012-03-26 13:03:06
$(“#plan>#rect1”)将搜索计划中具有id“rect1”的下一个孩子,但您的孩子是“g”标记。这就是$(“#plan>#rect1”)不返回任何内容的原因。 “>”表示直接的孩子。 改为使用$(“#plan#rect1”)。 – Mordhak 2012-03-26 13:08:13
我使用:var str = $(“#plan#rect1”)。html(); alert(str);它使错误 - 未捕获TypeError:不能调用未定义的方法'替换'。我使用:var str = document.getElementById('rect1'); var st = str.innerHTML; 警报(st);但var st未定义 – VasyambaTula 2012-03-27 09:46:19