Side navigation
#4132 closed bug (invalid)
Opened February 11, 2009 11:46PM UTC
Closed February 12, 2009 03:28AM UTC
Last modified February 12, 2009 10:06AM UTC
Data store hash object bug
Reported by: | dave_smith | Owned by: | |
---|---|---|---|
Priority: | minor | Milestone: | 1.3.2 |
Component: | data | Version: | 1.3.1 |
Keywords: | Cc: | ||
Blocked by: | Blocking: |
Description
The desired output of the following code is that
a#other gives 'other' and the rest of the links give 'value'.
Instead, all links give 'other'.
If the same is done with a string instead of a hash object, then the desired output produced.
$(document).ready(function()
{
Store a hash on all links.
$('a').data('object_store', {prop: 'value'});
Get the stored hash from one of the links.
var object_store = $('a#other').data('object_store');
Alter the hash.
object_store.prop = 'other';
Store the hash in the one link.
$('a#other').data('object_store', object_store);
$('a').click(function()
{
// Display the output.
alert($(this).data('object_store').prop);
return false;
});
});
All the elements are sharing the object that you initially set. I updated the documentation for
to clarify this.http://docs.jquery.com/Core/data
If you want a subset of the objects to have a different value, you could use
to create a new object with updated values:Or if you want each element to have a unique object, do this: