Skip to main content

Bug Tracker

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:

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.



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);



// Display the output.


return false;



Attachments (0)
Change History (2)

Changed February 12, 2009 03:28AM UTC by dmethvin comment:1

resolution: → invalid
status: newclosed

All the elements are sharing the object that you initially set. I updated the documentation for
to clarify this.

If you want a subset of the objects to have a different value, you could use

to create a new object with updated values:

  $.extend({}, $('a#other').data('object_store'), {prop: other})

Or if you want each element to have a unique object, do this:

  $(this).data('object_store', {prop: something});

Changed February 12, 2009 10:06AM UTC by dave_smith comment:2

Thanks dmethvin, your explanation and code examples are much appreciated.