私は平文JSでSVGを操作しようとしていましたが、createElementNS
とsetAttributeNS
のようなメソッドを使用しないと意図したとおりに動作しません。createElementNSで処理されないと動的SVGが動作しない理由
<svg id="mydsvg" width="100" height="100">
<circle cx="50" cy="50" r="40" stroke="green" stroke-width="4" fill="yellow" />
</svg>
上記のマークアップは完全に機能します。しかし、次のコードで別のサークルを追加しようとすると、そのサークルは表示されません。
var circle = createElement('circle');
circle.setAttribute('cx', 50);
....
document.getElementById('mysvg').appendChild(circle);
しかし、あなたはcreateElementNS
とsetAttributeNS
を使用する場合に予想されるとして、それが動作します。
最悪の場合、createElement
とcreateElementNS
は同じDOMテキストを作成します。
本当に完全な答えです。ありがとう。最後の文に対して小さなコードサンプルを表示することができれば、本当に便利です。 –