如何正确使用内联svg(使用)

时间:2014-11-06 19:56:15

标签: html5 svg

我在我的html 5文档中使用了几个.svg图形,需要通过javascript重新着色。加载时间也需要尽可能短。 我发现这样做的最好方法是使用<use>。这(应该)将svg集成到DOM中,然后可以通过javascript代码轻松操作。如果我想从单独的文件(而不是html文件中的任何其他位置)加载svg,它对我不起作用。

我的代码如下所示:

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<use xlink:href="/resources/svgs/test.svg"/></svg>

我注意到大多数示例都使用...test.svg#someID,但即使我使用svg中某个符号的id,它也不起作用。如果我在页面中的其他位置定义内联(复制和粘贴)svg然后href它的svg的id它可以工作。 我的错误在哪里? 有没有更好的方法来使用svg?

1 个答案:

答案 0 :(得分:0)

好的,它的确如此。将<defs><symbols>xlinks:href一起使用。我唯一能看到的缺点是这些svgs被注入阴影dom,所以你无法用jQuery真正改变它们。