2011-01-22 15 views
3

これは、前に質問された質問のフォローアップです:How to access SVG elements with Javascript しかし、解決策は私にとってはうまくいかないようです。私は最新バージョンのChromeについてテストしています。私は米国の地図をSVGファイルとして持っています。これは私のマシンにダウンロードして、XMLコードを少し変更しました。Javascript経由でSVG要素にアクセス

私はオブジェクトタグを使用して埋め込まれたsvgを持っていて、 "USAsvg"というIDを割り当てており、まずベビーステップを進めています。ボタンonclickイベントの場合、私は成功せずに次のコードを実行しています。ここで 'CA'は、svgファイル内でpathタグ​​を使用して宣言された状態です。

var a = document.getElementById('USAsvg'); 
var svgDoc = a.contentDocument; 
var delta = svgDoc.getElementById('CA'); 

alert(delta.value); 
+0

あなたがこれを確認しましたか? : http://www.carto.net/papers/svg/manipulating_svg_with_dom_ecmascript/ – jerluc

+1

何が機能していないかを詳しく説明する必要があります。あなたは '警告 'を全く見ていませんか?それには何が含まれていますか? JavaScriptコンソールにエラーがありますか? Chromeには、コンソールやデバッガを含む豊富な開発ツールが用意されていますので、 'alert()'を使う必要はありません。すでに使用していますか? ** –

+0

私は、埋め込み時にファイルの外側からSVG要素にアクセスしようとしています。私の現在のアプローチがうまくいかないと判明した場合、私はこのアプローチを使わなければならないかもしれません。 –

答えて

1

これは(そして、テキストを使用し、それは通常のHTMLノードであるかのように、jQueryので のhtml()関数は動作しません、それを操作し、直接あなたのDOMに最新のクロム、 負荷でSVGの作品)代わりに。

$('.your_div_for_svg').load('svg/file.svg', function(){ 
     $('#some_textnode_w_id_within_svg').text('Hello word'); 
});