Chỉ cần để tham khảo cho những người sử dụng jQuery, thuộc tính bắt đầu bằng 'đĩa dữ liệu' có thể được truy cập bởi data()
chức năng:
<span id='element' data-type='foo' data-sort='bar'></span>
var el = $('#element');
return [el.data('type'), el.data('sort')];
Một số trình duyệt đang bắt đầu để lưu trữ những theo những cách tiên tiến hơn (lưu trữ dữ liệu địa phương?) và những người khác thì không, nhưng có vẻ như nó hoạt động khá tốt. Lưu ý rằng trình duyệt tính hợp lệ của W3C không thích các thuộc tính expando như thế này, nhưng tôi nghĩ có một số đề xuất để chuẩn hóa điều này để chúng xác thực. Lần cuối cùng tôi nghiên cứu cách tốt nhất để lưu trữ dữ liệu với một phần tử, sử dụng data-key
như thế này là một trong những người chiến thắng trong số các chuyên gia.
Một cách khác để tôi chạy qua để buộc dữ liệu vào một yếu tố là để chèn một thẻ script ngay trước hoặc sau khi nguyên tố này, cho nó một kiểu khác hơn text/javascript
như:
<script id="templatedata" type="text/html">
<span>23</span>
<span>Alfred</span> <!-- I'm sure you can get more creative than I'm being here -->
</script>
này sẽ không được hiển thị trong trình duyệt và bạn vẫn có thể nhận được HTML trong đó qua $('#templatedata').html();
. Điều này vẫn có thể có vấn đề của nó như về mặt kỹ thuật nó không chính xác, nhưng nếu xác nhận HTML W3C là quan trọng với bạn nó có thể là một lựa chọn khả thi.
Cảm ơn bạn rất nhiều. :) – Mark