如何在浏览器加载SVG文件后修改它,最好是通过jquery?一个简单的例子是按下按钮,SVG元素的颜色会发生变化。任何文档也会有所帮助。
编辑:这个链接帮了大忙: w3.org/Graphics/SVG/IG/resources/svgprimer.html#SVG_in_HTML
答案 0 :(得分:1)
您无法“修改”SVG文件(除非在服务器上更改它们)。 SVG文件定义了一组SVG对象,如果您愿意,每个SVG对象都可以使用ID进行标识。这些对象可以像使用任何DOM元素(例如setAttribute等)一样使用JavaScript进行操作。检查http://www.w3.org/TR/SVG11/types.html#BasicDOMInterfaces以获取DOM接口。请注意,SVGElement扩展了Element,这是基本的DOM元素类型。
编辑:简单的例子:
<html>
<body>
<input type="button" onclick="doSVGThing()" value="change">
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<rect id="aRect" x="10" y="10" height="100" width="100"
style="stroke:#ff0000; fill: #9999ff"></rect>
</svg>
<script type="text/javascript">
function doSVGThing() {
var r = document.getElementById('aRect');
r.setAttribute('style', 'stroke: #00ff00; fill: #99ff99');
}
</script>
</body>
</html>