Tôi đang phát triển mã bằng cách sử dụng jQuery và cần lưu trữ dữ liệu được liên kết với các phần tử DOM nhất định. Có một loạt các câu hỏi khác về cách để lưu trữ dữ liệu tùy ý bằng phần tử html, nhưng tôi quan tâm hơn đến lý do tại sao tôi chọn một tùy chọn so với phần còn lại.Sử dụng kho dữ liệu của jQuery so với các thuộc tính expando
Nói, vì lợi ích của đối số cực kỳ đơn giản, tôi muốn lưu trữ thuộc tính "lineNumber" với mỗi hàng trong một bảng "thú vị".
Lựa chọn 1 sẽ được chỉ cần thiết lập một tài sản expando trên mỗi phần tử DOM (Tôi hy vọng Tôi đang sử dụng thuật ngữ 'expando' một cách chính xác):
$('.interesting-line').each(function(i) { this.lineNumber = i; });
Lựa chọn 2 sẽ sử dụng dữ liệu của jQuery() để liên kết thuộc tính với phần tử:
$('.interesting-line').each(function(i) { $(this).data('lineNumber', i); });
Bỏ qua bất kỳ thiếu sót nào khác của mã mẫu của tôi, có lý do chính đáng để bạn chọn phương tiện lưu trữ tài sản khác không?
Có [một plugin jQuery] (http://plugins.jquery.com/files/jquery.dataSelector.js.txt) cho phép bạn sử dụng các bộ chọn như trong var 'domElement = $ ('. Interesting-line: data (" lineNumber = '+ lineNumber +' ") '). get (0);' – ErikE