Theo jQuery()
function documentation (bí danh của $()
), bạn có thể xác định thuộc tính, sự kiện và phương pháp trong vòng thứ hai tham số.
Vì vậy, có, mọi thứ bạn định nghĩa bằng cách sử dụng attr()
là trò chơi công bằng. Điều đó bao gồm các thuộc tính “dữ liệu bất cứ điều gì” (có thể truy cập một cách kỳ lạ qua $elem.data('whatever')
), tuy nhiên chúng sẽ không được lưu vào jQuery.data
như bất kỳ biến nào được xác định qua $elem.data('name', 'value')
(ít nhất là cho đến khi bạn gọi $elem.data('whatever')
- xem http://api.jquery.com/jQuery.data/#entry-longdesc-1).
Vì vậy, để làm rõ:
var $elem = jQuery('<div/>', { 'data-test': "Testing" });
sẽ tạo ra yếu tố này, và trả về một đối tượng jQuery chứa nó:
<div data-test="Testing"></div>
Từ đó, bạn sẽ có thể làm:
jQuery.data($elem[0], 'test'); // => undefined
$elem.data('test'); // => "Testing"
jQuery.data($elem[0], 'test'); // => "Testing"
Tất nhiên, $elem.attr('data-test')
cũng sẽ hoạt động.
Nguồn
2013-01-13 07:54:36
... bạn đã thử chưa? – JJJ