}
if ( data !== undefined ) {
- thisCache[ name ] = data;
+ thisCache[ jQuery.camelCase( name ) ] = data;
}
// TODO: This is a hack for 1.5 ONLY. It will be removed in 1.6. Users should
return thisCache[ internalKey ] && thisCache[ internalKey ].events;
}
- return getByName ? thisCache[ name ] : thisCache;
+ return getByName ? thisCache[ jQuery.camelCase( name ) ] : thisCache;
},
removeData: function( elem, name, pvt /* Internal Use Only */ ) {
}
test("jQuery.data should follow html5 specification regarding camel casing", function() {
- expect(6);
+ expect(8);
var div = jQuery("<div id='myObject' data-foo='a' data-foo-bar='b' data-foo-bar-baz='c'></div>")
.prependTo("body");
equals(div.data("fooBar"), "b", "Verify multiple word data-* key");
equals(div.data("fooBarBaz"), "c", "Verify multiple word data-* key");
+ div.data("foo-bar", "d");
+
+ equals(div.data("fooBar"), "d", "Verify updated data-* key");
+ equals(div.data("foo-bar"), "d", "Verify updated data-* key");
+
div.remove();
-});
\ No newline at end of file
+});