2011-11-26 39 views
5

我前段時間開始使用jQuery Mobile,並且正如那些瞭解jQuery Mobile知道的那樣,它使用它自己的HTML屬性爲項目提供預定義角色。主要是divs。 一些例子:如何使jQuery Mobile的屬性XHTML有效

<div data-role="page" id="trackPage"> 
    <div data-role="header"> 
     ... 
    </div><!-- /header --> 
    <div data-role="content" id="content_init"> 
     <form action="DoTrack" method="post" id="track_form" data-ajax="false"> 
      <div data-role="fieldcontain" id="div_trackselect"> 
       <fieldset data-role="controlgroup" data-type="horizontal"> 
        .... 
       </fieldset> 
      </div> 
     </form> 
     ... 
    </div> 
    ... 
</div> 

正如你所看到的,很多jQuery的屬性被添加像data-role data-type data-ajax data-transition data-iconpos ...

現在,我更喜歡使用XHTML嚴格的語法,但驗證時,我得到了這些錯誤:http://cl.ly/400Q080G3X2V3j3x2S00

我也嘗試了XHTML Transitional,但它給出了相同的錯誤。

我試過Google找到一個解決方案,但不能。我想要解決這個問題,所有jQuery Mobile屬性都應該存在一個DTD,對吧?

有沒有解決這個問題的另一種方法?

+2

這些是HTML 5屬性。如果你想驗證你需要使用HTML 5。 –

+0

哈哈,我記得XHTML。非常高興,它從來沒有被任何瀏覽器支持,並且在它造成太多損害之前HTML5就出現了。 –

回答

11

的jQuery Mobile的主頁上明確指出,它是:

統一,HTML5基於用戶界面,所有流行的移動設備平臺系統...

而對於原因,您應該使用HTML5文檔類型。這將確保您的頁面驗證,如果這對您很重要。

<!DOCTYPE html> 

不要忘記,如果您使用HTML5文檔類型,仍然可以使用XHTML樣式的語法。我想大多數人都這麼做。

順便提一下,jQuery Mobile沒有自己定義屬性 - 它們完全不是「jQuery Mobile」屬性 - data-* attribute system是HTML5的一部分,因此您可以將任意數據附加到DOM節點。

+4

我特別喜歡「如果這對你很重要」。部分。驗證不過是一個極客標誌。 – sgliser

相關問題