2014-11-06 23 views
1

我在我的html 5文檔中使用了幾個.svg圖形,需要通過javascript重新着色。加載時間也應儘可能短。 我發現這樣做的最好方法是使用<use>。這(應該)將svg整合到DOM中,然後可以通過JavaScript代碼輕鬆操作。它不適用於我,雖然如果我想從一個單獨的文件(而不是在HTML文件中的任何其他地方)加載svg。如何正確使用內聯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但即使我使用一些符號的ID從SVG這是行不通的。如果我在頁面的其他地方定義了一個內聯(複製和粘貼)svg,然後href它可以工作的那個svg的id。 我的錯誤在哪裏? 有沒有更好的方法來使用svg的?

+0

我忘了提及從其中我想要導入svg的其他svg文件在周圍有。有什麼想法如何解決這個問題?任何其他方式可能做到這一點? – CodeO 2014-11-09 14:00:24

回答

0

好的,它的工作原理與此類似。使用<defs><symbols>xlinks:href。唯一的缺點是我可以看到這些svgs被注入爲影子dom,所以你不能用jQuery來改變它們。