2011-11-26 10 views
5

ho iniziato ad usare jQuery Mobile qualche tempo fa, e come quelli che sanno jQuery Mobile sa, utilizza il proprio attributi HTML per dare elementi un ruolo predefinito. Principalmente div. Alcuni esempi:Come fare jQuery Mobile attributi XHTML-valido

<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> 

Come si può vedere, un sacco di attributi jQuery sono aggiunti come data-role data-type data-ajax data-transition data-iconpos ...

Ora, io preferisco usare XHTML sintassi rigorosa, ma quando ho ottenuto la convalida quegli errori: http://cl.ly/400Q080G3X2V3j3x2S00

ho cercato Valid Transitional pure, ma ha dato gli stessi errori.

Ho provato Googling di trovare una soluzione, ma non ci riuscì. Credo che per risolvere questo, dovrebbe esistere un DTD per tutto il jQuery Mobile attributi, giusto?

C'è un altro modo per risolvere questo problema?

+2

Quelli sono HTML 5 attributi. Dovrai utilizzare HTML 5 se vuoi la convalida. –

+0

Haha, ricordo XHTML. Sono contento che non sia mai stato supportato da alcun browser e che HTML5 sia arrivato prima che facesse troppi danni. –

risposta

11

La home page di jQuery Mobile afferma chiaramente che si tratta di:

A, HTML5 sistema di interfaccia utente basata su unificata per tutte le piattaforme popolari dispositivi mobili ...

E per questo motivo, dovresti usare il doctype HTML5. Ciò garantirà la convalida della tua pagina, se è importante per te.

<!DOCTYPE html> 

Non dimenticate che si può ancora utilizzare la sintassi XHTML-style se si utilizza il doctype HTML5. La maggior parte delle persone, penso.

Per inciso, jQuery Mobile non è che compongono i propri attributi - non sono "jQuery Mobile" attributi esattamente - il data-* attribute system fa parte di HTML5 ed esiste in modo che è possibile allegare dati arbitrari ai nodi DOM.

+4

Mi piace particolarmente il "se è importante per te". parte. La validazione non è altro che una bandiera geek. – sgliser