1

html ファイルに別の svg ファイルが埋め込まれています。javascript を使用してその svg に円を追加したいと考えています。以下は私が今持っているものです:

var mySvg=document.getElementById("SVGDoc");
var svgDom=mySvg.getSVGDocument();

.....

<object id="SVGDoc" type="image/svg+xml" data="3rdFloorVersion2.svg"></object>

しかし、私が知っているように、このsvgDomオブジェクトには append() メソッドはありません。誰でもこれを解決する方法を知っていますか? HTMLファイル内のsvgコンテンツをコピーする必要がある解決策があることは知っていますが、それらを別々に保ちたいです。

4

1 に答える 1

0
var circle = svgDom.createElementNS("http://www.w3.org/2000/svg", "circle");
circle.setAttribute("r", "10");
// etc for x, y 
svgDom.documentElement.appendChild(circle);

タグの onload イベントが発生した後にのみ mySvg.getSVGDocument() を呼び出すことができる<object>ため、次のようなことを行う必要があることに注意してください。

<object id="SVGDoc" onload="go()"...></object>

<script>
function go() {
    var mySvg=document.getElementById("SVGDoc");
    var svgDom=mySvg.getSVGDocument();
    ...
}

</script>
于 2013-03-28T17:39:35.207 に答える