更改动态加载的SVG的颜色

时间:2013-10-19 20:48:50

标签: angularjs svg

我通过AngularJS插入SVG:

<embed embed-src="{{sportImage}}" type="image/svg+xml" class="svg sport-image" width="470" height="418" />

但是我无法通过CSS或JS改变svg或路径的填充。我猜测这是因为在API返回结果后加载了SVG。

任何提示?

1 个答案:

答案 0 :(得分:2)

您需要在发生<embed>的上传后进行更改。

<embed embed-src="{{sportImage}}" type="image/svg+xml" class="svg sport-image" width="470" height="418" onload="f()" id="something" />
<script>
    function f() {
        var svg = document.getElementById('something');
        var element = svg.getSVGDocument().getElementById("an-id-in-the-embedding");
        element.setAttribute("fill", "some-colour");
    }
</script>