2012-11-08 39 views
1

我已經有一個非常複雜的DOM結構,我想消除未終止的圖像元素導致問題的可能性。處理img元素並附加到dom沒有終止

看着最簡單的例子:

var prettyPicture = document.createElement("img"); 
//Add properties... 
container.appendChild(prettyPicture); 

工作正常,但是當我insepct的DOM我看到img元素沒有終止斜線如<img/>

<img id="iamge-6816177" src="_site/images/detail/6816177.png"> 

沒有問題的簡單佈局視圖,但是當我查看包含大量這些元素的視圖時,即使它們的節點位於dom檢查器中,也是隨機的,即使是相同父節點內的相似圖像也不會呈現。缺少終止會導致樹的任何問題?

+1

你叫什麼叫終止斜槓? –

+0

這是一個沒有問題,你可以安心入睡。 – Nelson

+0

'Aight。那麼猜猜這是最後一個人的蹩腳CSS。 – FlavorScape

回答

3

img元素的結束標記完全是可選的 - 這不會導致您在任何瀏覽器中出現問題。事實上,事實上,在HTML5中,您現在不應該包含img元素中的/>

此外,當您檢查DOM時,您所看到的僅僅是您的檢查員如何選擇顯示沒有結束標記的元素 - 您可以確定createElement()和正在生成有效的HTML,因爲您直接使用DOM而不是爲瀏覽器提供文本來解析DOM對象。

+0

+1。但如果可能的話,最好保留它。 – gdoron

1

如果你關心

<img id="iamge-6816177" src="_site/images/detail/6816177.png"> 

,而不是

<img id="iamge-6816177" src="_site/images/detail/6816177.png"/> 

那麼有沒有擔心:痛苦的XHTML的日子已經結束,HTML5確認,你不應該寫XML式自閉標籤。

the spec

空隙元件僅具有一個開始標記;對於空元素,不得指定結束標記 。

[...]

空隙元件

區域,基,BR,山口,命令,嵌入,小時,IMG,輸入, 密鑰生成,鏈接,間位,PARAM,來源,跟蹤,編號

糟糕的做法是將代碼與結束標記混淆。 HTML不是XHTML。

0

不,這不應該導致任何問題。我會忽略它,因爲這不會損害w3.org合規性,因爲DOM元素是動態生成的。