2014-10-28 105 views
1

我正在開發一個JavaScript類來顯示所有的SVG對象,但是當我創建元素「image」時,瀏覽器不顯示它。雖然如果我複製生成的代碼並將其放入另一個文檔中,則會顯示該圖像。生成的SVG圖像不顯示

當我使用Firebug的檢查器搜索圖像時,對象出現,但圖像不顯示。

我創建使用appendChild()setAttribute()setAttributeNS()

對象這是生成的代碼:

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" height="100%" width="100%" > 
<image width="50" height="50" xlink:href="logo.png" y="20" x="20" id="d"></image> 
</svg> 

我做錯了嗎?

+2

向我們展示創建SVG的代碼。創建SVG元素時使用'createElementNS()'嗎? – 2014-10-29 03:06:55

回答

1

問題是命名空間。這是正確的形式動態創建的圖像:

image.setAttributeNS('http://www.w3.org/1999/xlink', 'xlink:href', 'flower.png'); 

更多imformation可以MDN's 'Namespaces Crash Course'找到。