1

私はsvgに取り組んでいます。JavaScriptコードを使用してsvgでいくつかの形状を作成しました。今私がしなければならないことは、何かを描くときに作成されたsvgのコードを取得することです。そのコードを文字列の形式で取得したいので、再利用のために、またはそのコードを.svgファイルに入れることができれば、JavaScriptコードを使用して自分で作成したものと同じものを出力します。私のコードがこれを作ったように

 <svg xmlns="http://www.w3.org/2000/svg"
 xmlns:xlink="http://www.w3.org/1999/xlink"
 width="500" height="500" id="one">
<g id="container">
    <rect id ="rect" x="0" y="0" width="0" height="0" fill="pink"
          stroke="blue" stroke-width="2" />

</g>

からすべてのコードを文字列の形式で取得するにはどうすればよいですか。それを印刷できます。

4

2 に答える 2

1

SVGで同等のものを取得するにはinnerHTML、最初に SVG をシリアル化する必要があります。これは次のように行われます。

​var svg = document.querySelector("svg");
var serializer = new XMLSerializer();
var string = serializer.serializeToString(svg);​

ここで例を見ることができます:

http://jsfiddle.net/rrPwS/

于 2012-12-15T05:01:39.987 に答える
0
//in your javascript:

function getMyString()  {    
  var theStringIWant = document.getElementById("container").innerHTML;
  d.getElementbyId('theBox').value = theStringIWant
}

//and in your HTML:

<form>
  <textarea id="theBox" rows="2" cols="60">Here's the string</textarea>
  <input type="button" value="get the string" onclick="getMyString()" /> 
</form> 
于 2012-12-15T02:14:50.353 に答える