2010-10-18 29 views
44

Tôi muốn kết hợp một số dữ liệu tùy chỉnh với một số nút HTML. Tôi sẽ sử dụng thuộc tính 'data- *' kiểu HTML5 mới. ví dụ: <tr class="foo" data-typeid="7">… và sau đó tôi sẽ chọn nút HTML này và hiển thị/ẩn nút đó bằng cách đọc giá trị bằng $(node).attr("data-typeid").Có vấn đề gì khi sử dụng thuộc tính "data- *" của HTML5 cho các trình duyệt cũ hơn không?

Tuy nhiên, trang web này cần phải hoạt động với các trình duyệt cũ hơn. Tôi không sử dụng thuộc tính data- * làm thuộc tính đặc biệt, nhưng tôi muốn biết liệu các trình duyệt cũ hơn có bỏ qua, xóa hoặc không thể truy cập thuộc tính này vì nó không phải là HTML4 hợp lệ hay không.

+0

bản sao có thể có của [Thuộc tính dữ liệu tùy chỉnh HTML5 "hoạt động" trong IE 6?] (Http://stackoverflow.com/questions/2412947/do-html5-custom-data-attributes-work-in-ie-6) –

Trả lời

53

Không thực sự, chúng không hoàn toàn đúng 100%/sử dụng hợp lệ trong HTML4 của khóa học .... nhưng chúng không gây ra sự cố hoặc, vì vậy chúng vẫn là cách tuyệt vời để giải quyết "Tôi cần một thuộc tính cho vấn đề này".

Nếu có ích, tôi đã sử dụng chúng trong khi hỗ trợ IE6 và đã có vấn đề về số không, và tôi không thể nhớ lại một câu hỏi SO nào cũng báo cáo.

+5

HTML5 được thiết kế để hoạt động càng nhiều càng tốt với hành vi trình duyệt hiện tại. Thuộc tính dữ liệu là một trong những địa điểm đẹp, như loại tài liệu HTML5, nơi mà dường như xảy ra mà không có nhiều trục trặc. –

+1

Dường như bạn không thể sử dụng các kiểu dữ liệu với jquery bằng cách sử dụng tài liệu Chuyển tiếp XHTML 1.0 với IE 8 trở xuống. – codeadventurer

10

Internet Explorer và Microsoft đã thêm một số thuộc tính tùy chỉnh không phải là HTML4 hợp lệ. Các trình duyệt không kiểm tra các thuộc tính phần tử đối với một đặc tả, bạn có thể đặt tên một thuộc tính roryscoolinfo="hello" nếu bạn thích (mặc dù bạn không nên).

Bộ công cụ Dojo thêm thuộc tính tùy chỉnh dojo*.

Thật tuyệt khi sử dụng data- hôm nay, với loại tài liệu HTML5.

Các vấn đề liên quan