0

我想知道它是否可能以及如何绘制已经绘制的 SVG。假设我用 SVG 绘制了一些东西,但我想添加另一个元素,而不是再次绘制所有地图或修改原始 cod。

4

1 回答 1

1

是的,这是可以做到的。实际上,这是 svg 的优点之一。这是一个例子:

<!DOCTYPE html>
<html>
    <head>
        <title>HTML5 SVG demo</title>
    </head>

    <body>
        <h1>SVG DEMO</h1>
        <svg id="circle" height="200" xmlns="http://www.w3.org/2000/svg">
        <circle id="greencircle" cx="30" cy="30" r="30" fill="green" />
        </svg>



        <script type="text/javascript">

            var rect = document.createElementNS('http://www.w3.org/2000/svg', 'rect');
            rect.setAttributeNS(null,"id", "myrect");
            rect.setAttributeNS(null,"fill", "red");
            rect.setAttributeNS(null,"stroke", "black");
            rect.setAttributeNS(null,"stroke-width", "5");
            rect.setAttributeNS(null,"x", "100");
            rect.setAttributeNS(null,"y", "100");
            rect.setAttributeNS(null,"width", "100");
            rect.setAttributeNS(null,"height", "50");
            var svg = document.getElementById("circle");
            svg.appendChild(rect);


        </script>
    </body>
</html>
于 2013-05-04T10:47:11.673 回答