2011-11-26 18 views
5

Zacząłem używać jQuery Mobile jakiś czas temu, a jak wiedzą jQuery Mobile, używa on własnych atrybutów HTML, aby nadać elementom predefiniowaną rolę. Głównie divy. Kilka przykładów:Jak tworzyć atrybuty mobilne jQuery Poprawny 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> 

Jak widać, wiele atrybutów jQuery dodaje jak data-role data-type data-ajax data-transition data-iconpos ...

Teraz wolę używać składni XHTML ścisłe, ale podczas sprawdzania poprawności Mam te błędy: http://cl.ly/400Q080G3X2V3j3x2S00

Próbowałem również XHTML Transitional, ale dało to te same błędy.

Próbowałem Googling, aby znaleźć rozwiązanie, ale nie mogłem. Myślę, że aby to rozwiązać, powinna istnieć DTD dla wszystkich atrybutów jQuery Mobile, prawda?

Czy istnieje inny sposób rozwiązania tego problemu?

+2

To są atrybuty HTML 5. Jeśli chcesz sprawdzić poprawność, musisz użyć HTML 5. –

+0

Haha, pamiętam XHTML. Cieszę się, że nigdy nie był obsługiwany przez żadną przeglądarkę i że pojawił się HTML5, zanim wyrządził zbyt wiele szkód. –

Odpowiedz

11

Na stronie głównej jQuery Komórka wyraźnie stwierdza, że:

Ujednolicony, HTML5 System -na interfejs użytkownika dla wszystkich popularnych platform mobilnych urządzeń ...

I za to powód, należy użyć typu dokumentu HTML5. Zapewni to sprawdzenie Twojej strony, jeśli jest to dla Ciebie ważne.

<!DOCTYPE html> 

Nie zapominaj, że nadal możesz używać składni w stylu XHTML, jeśli używasz typu dokumentu HTML5. Myślę, że większość ludzi.

Nawiasem mówiąc, jQuery Mobile nie tworzy własnych atrybutów - nie są to dokładnie atrybuty "jQuery Mobile" - data-* attribute system jest częścią HTML5 i istnieje tak, że można dołączyć dowolne dane do węzłów DOM.

+4

Szczególnie podoba mi się "jeśli to jest dla ciebie ważne". część. Walidacja to nic innego jak flaga maniaków. – sgliser