SVG内のテキストを読み出す


動作ブラウザ 【 IE:4.0  NN:3.0
Internet Explorer Netscape Navigator DreamPassport iCab
3.0x 4.0x 4.5 5.0x 5.5 2.0x 3.0x 4.0x 4.x 6.0 2 3 2.x
Windows × - × × - × -
Macintosh × × × × - × × - - ×
UNIX - - - - - × × × × × - - -
Dreamcast - - - - - - - - - - × × -

ポイント svgObj = document.theSVG.getSVGDocument(); txt = svgObj.getElementById(sName).getFirstChild().getData(); document.myFORM.result.value = txt;
説  明 SVG内で内容を変更する文字のエレメントにidで名前を付けます。付けた名前はgetElementById("名前")で指定します。このエレメント内のノードのデータはgetData()で読み出すことができます。
サンプル <html> <head> <title>SVG内のテキストを読み出す</title> <script language="JavaScript"><!-- function getSVGText(sName) { svgObj = document.theSVG.getSVGDocument(); txt = svgObj.getElementById(sName).getFirstChild().getData(); document.myFORM.result.value = txt; } // --></script> </head> <body> <embed src="test.svg" width="320" height="100" name="theSVG"><br> <form name="myFORM"> <input type="button" value="1番目の文字を読み出す" onClick="getSVGText('myText1')"><br> <input type="button" value="2番目の文字を読み出す" onClick="getSVGText('myText2')"><br> <input type="button" value="3番目の文字を読み出す" onClick="getSVGText('myText3')"><br> 結果:<input type="text" name="result"> </form> </body> </html>
補足説明 ここで使用したSVGは以下の通りです。 <?xml version="1.0"?> <svg> <text id="myText1" x="10" y="20">KaZuhiro</text> <text id="myText2" x="10" y="50">FuRuhata</text> <text id="myText3" x="10" y="80">OpenSpace</text> </svg>

■サンプルスクリプトを実行する >>実行
■各ブラウザでの動作結果を見る >>View!

写真素材 PIXTA