2015-04-06 82 views
0

我正在向svg元素添加一個異物,這是一個id爲'all'的組。當我這樣做時,異物不會出現。SVG異物直到改變才顯示

但是,如果我使用chrome的檢查元素工具,並在元素視圖中對外部對象進行任何更改,則會顯示該對象。

var panel = document.createElement('div'); 
panel.className = 'panel'; 

var foreign = document.createElementNS("http://www.w3.org/2000/svg", 'foreignobject'); 
foreign.setAttribute('width' , '202'); 
foreign.setAttribute('height', '122'); 
foreign.setAttribute('transform', 'translate(0 0)'); 

all.appendChild(foreign); 

foreign.appendChild(panel); 

這對我來說似乎很奇怪。我究竟做錯了什麼?

謝謝, 山姆。

回答

1

SVG是區分大小寫的語言,正確的標記名稱是foreignObject

+0

我很想知道爲什麼檢查元素並對其進行編輯會導致它出現。你知道這是爲什麼嗎? – Sam

+2

因爲檢查它會導致http解析器重新解析它,並且http解析器神奇地修復了一些事情,試圖讓開發人員的生活更輕鬆。 –

+0

不是最初用於解析的html解析器嗎?當我將它添加到頁面時解析html以及使用開發人員工具編輯元素時的解析有什麼不同? – Sam