Ticket #8201 (closed bug: invalid)
the behavior of data api in jQuery 1.5 has changed
| Reported by: | yangjh02@… | Owned by: | |
|---|---|---|---|
| Priority: | low | Milestone: | 1.next |
| Component: | data | Version: | 1.5 |
| Keywords: | Cc: | ||
| Blocking: | Blocked by: |
Description
I use data api, to change my object, so that I can take advantage of changeData and setData event. for example,
var customer = { name : "john" };
instead of change customer like
customer.name = "tim",
I use
$(customer).data("name", "tim");
so that I can use the event to handle the data change. In jQuery 1.4.4 , I can assert customer.name == "tim",
but in 1.5, the behavior has change, it is now using the jQuery.cache object as like other objects, here is a dump, of the customer.
Customer
- jQuery1297093665961: 37
- name: "john"
- proto: Object
jQuery.Cache
- 37: Object
- name: "tim"
I am not sure reason of the change, but it break my code, possibly of many others. But the release note of 1.5 does not mention about the change, although, the change does pass the unit test, but it break user's expectation of the its side effect.
Change History
Please follow the bug reporting guidlines and use jsFiddle when providing test cases and demonstrations instead of pasting the code in the ticket.

This is intentional. Please read the release notes.