Tôi muốn kiểm tra xem liệu giá trị dữ liệu jQuery đã được áp dụng cho một đối tượng hay chưa. Ví dụ: mã ở nơi khác có thể chỉ định dữ liệu cho một đối tượng:Cách thích hợp để kiểm tra giá trị .data() cụ thể trong một đối tượng jQuery?
$myObject.data('hello','world');
Ở những nơi khác, tôi muốn kiểm tra xem giá trị có được chào cho thuộc tính dữ liệu không.
Cách thích hợp để xử lý việc này là gì? .hasData
có vẻ giống như sự lựa chọn hiển nhiên nhưng dường như không hoạt động như 'hasClass' làm trong đó bạn dường như không thể truyền tên phần tử dữ liệu cụ thể cho nó.
vì vậy, bạn sẽ sử dụng một cái gì đó như 'if (typeof $ myObject.data ('hello') ===" undefined "))'? Điều đó sẽ hoạt động, nhưng có vẻ như 'un-jQuery-ish';) –
@DA. Không có phương pháp "jQuery-ish" cho yêu cầu của bạn. Bạn có thể viết một plugin, nếu bạn muốn. Tất cả những gì bạn cần là thông tin này: 1. Sau khi gán một giá trị sử dụng '.data()', phần tử DOM ** sẽ nhận được một thuộc tính có tên bằng '$ .expando'. 2. Thuộc tính này, ví dụ: "jQuery1710979685063056744", giữ một số nhận dạng. 3. Mã định danh này, ví dụ: "29" tương ứng với khóa trong '$ .cache', ví dụ: '$ .cache [29]'. Dữ liệu được lưu trữ trong '$ .cache [29] .data'. –