2011-11-26 12 views
5

Tôi bắt đầu sử dụng jQuery Mobile một thời gian trước đây, và như những người biết jQuery Mobile biết, nó sử dụng các thuộc tính HTML của riêng nó để cung cấp cho các mục một vai trò được xác định trước. Chủ yếu là divs. Một số ví dụ:Làm thế nào để tạo các thuộc tính jQuery Mobile XHTML hợp lệ

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

Như bạn có thể thấy, rất nhiều thuộc tính jQuery được thêm vào như data-role data-type data-ajax data-transition data-iconpos ...

Bây giờ, tôi thích sử dụng XHTML cú pháp chặt chẽ, nhưng khi xác nhận tôi có những sai sót: http://cl.ly/400Q080G3X2V3j3x2S00

Tôi cũng đã thử XHTML Chuyển tiếp, nhưng nó cũng có cùng lỗi.

Tôi đã cố gắng tìm kiếm giải pháp của Google, nhưng không thể. Tôi nghĩ rằng để giải quyết điều này, cần phải tồn tại một DTD cho tất cả các thuộc tính jQuery Mobile, phải không?

Có cách nào khác để giải quyết vấn đề này không?

+2

Đó là các thuộc tính HTML 5. Bạn sẽ cần sử dụng HTML 5 nếu bạn muốn xác thực. –

+0

Haha, tôi nhớ XHTML. Rất vui vì nó không bao giờ được hỗ trợ bởi bất kỳ trình duyệt nào và HTML5 xuất hiện trước khi nó gây ra quá nhiều thiệt hại. –

Trả lời

11

Trang nhà jQuery Mobile nêu rõ rằng nó là:

A, HTML5 hệ thống giao diện người dùng dựa trên thống nhất cho tất cả các nền tảng thiết bị di động phổ biến ...

Và cho rằng lý do, bạn nên sử dụng loại tài liệu HTML5. Điều này sẽ đảm bảo trang của bạn xác thực, nếu điều đó quan trọng đối với bạn.

<!DOCTYPE html> 

Đừng quên rằng bạn vẫn có thể sử dụng cú pháp kiểu XHTML nếu bạn sử dụng loại tài liệu HTML5. Hầu hết mọi người làm, tôi nghĩ vậy.

Ngẫu nhiên, jQuery Mobile không tạo thuộc tính riêng - chúng không phải là thuộc tính "jQuery Mobile" - data-* attribute system là một phần của HTML5 và tồn tại để bạn có thể đính kèm dữ liệu tùy ý vào các nút DOM.

+4

Tôi đặc biệt thích "nếu điều đó quan trọng với bạn". phần. Việc xác thực không gì khác ngoài cờ geek. – sgliser