2012-09-25 42 views
1

我有一個XHTML頁面如下:HTML元素得到自動評論

<script type="text/html" id="test1"> 
    <li> 
     test 
    </li> 
</script> 

然而,當頁面在瀏覽器中加載(谷歌瀏覽器的測試),我認爲這是如下:

<script type="text/html" id="test1"><!--  

     <li>test 

//--></li> 

    <!-- 

     <li>test 

//--></script> 

爲什麼會發生這種情況&如何防止這種情況?如果頁面是html而不是xhtml,則不會發生這種情況。

-

+1

這通常是作爲一種「模板」來完成的。如果腳本標籤的類型不是「text/javascript」,那麼它不會作爲腳本運行。 –

+0

是的,我需要使用[John Resig的mircotemplating引擎](http://ejohn.org/blog/javascript-micro-templating)創建一個模板,用於將JSON數據轉換爲HTML客戶端。 –

回答

1

XHTML是#PCDATA,而HTML是CDATA。爲了不讓這些代碼被解析,你必須把它包裝在CDATA標籤中。

<script type="text/javascript">//<![CDATA[ 
<li> 
    test 
</li> 

//]]></script> 

即使這工作雖然,我不知道爲什麼你會希望有HTML裏面的腳本標記,它是無效的代碼,並沒有做出很大的意義。

+0

,因爲我需要使用[John Resig的mircotemplating引擎](http://ejohn.org/blog/javascript-micro-templating)創建一個用於將JSON數據轉換爲HTML客戶端的模板。 –

+0

我試過使用'<![CDATA ['&']]>'但是這留下了另一個問題,因爲我使用'