2014-09-18 125 views
0

我已經很好地形成與圖像標記HTML作爲如何獲得

<img src="" width="400" height="100"/> 

以及形成img元素但當我通過的getElementById的innerHTML得到了它的圖像標籤生病形成:

<img src="" width="400" height="100"> 

這裏是一個小頁面進行測試

<html> 
    <body> 
    <article id="a1"> 
     <img src="" width="400" height="100"/> 
    </article> 

    <script> 
     alert(document.getElementById("a1").innerHTML); 
    </script> 
    <body> 
</html> 

我該如何獲得從dom樹良好形成的img標籤? 我試圖聲明HTML爲XHTML,但它沒有幫助。

+0

這是一個小提琴http://jsfiddle.net/ke4z02x3/ – Huangism 2014-09-18 19:11:05

+0

...是什麼讓你覺得它很重要?如果這就是DOM從格式良好的(X)HTML構建的,那麼問題是什麼? – 2014-09-18 19:12:03

+0

_「我怎樣才能得到由dom樹形成的img標籤?」 - - 爲了什麼?你究竟想在這裏做什麼? – CBroe 2014-09-18 19:12:10

回答

0

請勿使用innerHTML,因爲它不可靠。您應該序列化代碼。

alert(new XMLSerializer().serializeToString(document.getElementById('a1'))); 
+0

謝謝!它有助於 – Alexander 2014-09-18 19:36:28

0

瀏覽器(至少Chrome和Firefox,我還沒有進一步測試)只要它們處於XML模式,就會在innerHTML中爲您提供格式良好的標記。

這是通過一個XML 內容類型HTTP頭(如Content-Type: application/xhtml+xml)觸發,而不是一個XHTML文檔類型(其僅作爲標準模式Invokation的字符串)。

它們還將包括標記來指定正在使用的命名空間。