javascript(jQuery)を使用して、などの特定の要素を1つにsvg
動的にラップしようとしていますrect
text
g
これは、svgが最初にどのように見えるかです
<div id="container">
<svg ...>
<rect .../>
<circle .../>
<text ...>...</text>
</svg>
</div>
タグにラップするために使用するスクリプト( jQueryを使用してツリー(SVG)の真ん中に(g)ノードを挿入する@で受け取った役立つ回答に基づく)。g
$("#container svg > *").wrapAll('<g id="parent" />');
変形svg
はこんな感じ
<div id="container">
<g id="parent">
<svg ...>
<rect .../>
<circle .../>
<text ...>...</text>
</svg>
</g>
</div>
しかし、UIには何も表示されません。ファイアバグでさえ、g
がグレー表示されていることを示しています(非表示の要素の場合と同様)。
呼び出し$("#parent").show();
は時々機能しますが、すべてではありません
質問:
- なぜ
g
それが動的に作成され、デフォルトで非表示になっているのですか? - なぜ
$("#parent").show()
一貫性のない動作をするのですか? - グループ化要素を動的にグループ化する別の(より良い)方法はありますか?
- 私はSVGにまったく慣れていませんが、jQueryとDOMの操作には比較的慣れています。私がSVGを単なる別のタグとして扱っている方法は間違っていますか?
Firefox(15.0.1)とChrome(21.0.1180.89)の両方で試してみましたが、同じ結果になりました