現在、JavaScriptでsvg
要素を使用しています。そして、私はこれに新しいです。
私の質問は、複数のsvg:g
要素があるsvg
要素があることです。そして、私のsvg:g
要素には、他のさまざまなsvg要素があります。
<svg>
<g class="my-class">
<g class "c1">
<text style="font-size: 9" x="0" y="-4"> john </text>
<text style="font-size: 9" x="70" y="-4"> 13 </text>
</g>
<g class="c2">
<text style="font-size: 9" x="0" y="-4"> john </text>
<text style="font-size: 9" x="70" y="-4"> 13 </text>
</g>
<g class="c3">
<text style="font-size: 9" x="0" y="-4"> john </text>
<text style="font-size: 9" x="70" y="-4"> 13 </text>
</g>
</g>
</svg>
g
はmyに動的に追加されます
g "my_class"
ここで、svg
widthをg.my_class
widthの幅に設定します。
var svgWidth = $('.my-class').width()
alert(svgWidth);
しかし、それは私にゼロを与えます。ブラウザーの黄色のツールヒントボックスに表示されるまで
この行を選択すると。
誰でも親切に私を導くことができますか?私はこれを正しくやっていますか、またはどのようにこれを達成できますか?ありがとう
.getBoundingClientRect
$('.my-class')[0].getBoundingClientRect().width;
getBBox
(そうではない)よりもgetBoundingClientRect
(SVG 1.1の一部)をお勧めします。
$('.my-class')[0].getBBox().width;