私はこのようなSVGで簡単なthmlページがあります。このSVGからjQueryまたはJavaScriptを使用して、HTMLページからSVGコードを取得するにはどうすればよいですか?
<rect width="105.71429" height="80" x="351.42856" y="152.36218" id="rect1" style="fill:#008000"></rect>
:私は文字列を取得できますか
<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>
。 jqueryとjquery svgを使用できます。 1
[ここにリンクの説明を入力します]var str = $("#plan #rect1")[0];
変数strは、[オブジェクトSVGRectElement] です:私はこの文字列を取る
コンソールで$(document).ready(function() {
console.log($("#plan #rect1")[0]);
})
、しかし、私はこのような変数に文字列を取得する必要があります:私はしてみてください
私はvar str = $( "#plan>#rect1")[0]を使用します。警告(文字列); strが定義されていません – VasyambaTula
$( "#plan>#rect1")は、 "rect1"というIDを持つプランの次の子を検索しますが、あなたの子供は "g"タグです。それが$( "#plan>#rect1")が何も返さない理由です。 ">"は直属の子供を意味します。 代わりに$( "#plan#rect1")を使用してください。 – Mordhak
私は以下を使用します:var str = $( "#plan#rect1")。html(); アラート(文字列)。エラー - Uncaught TypeError:未定義のメソッド 'replace'を呼び出すことはできません。私は使用します:var str = document.getElementById( 'rect1'); var st = str.innerHTML; アラート(st);しかしvar stは定義されていません – VasyambaTula