$.fn.removeData does not remove data with a dash in a name
|Reported by:||sidonath||Owned by:||Rick Waldron|
Some of the backwards-compatibility issues with camelCasing data names were solved in #9124, but not all.
Here is a test case that demonstrates the issue.
$('#foo').removeData('foo-bar') removes data with key "fooBar"
$('#foo').removeData('foo-bar') doesn't remove anything.
To remove the "fooBar" one has to explicitely call
The current handling breaks old code ported to jQuery 1.6.1, but the release notes say that the upgrade should be seamless with respect to data changes in 1.6.0.
Solution: when removing "foo-bar", remove "fooBar" instead.
Workaround for developers: update code to use "fooBar" always.
Change History (16)
comment:1 Changed 6 years ago by
|Component:||unfiled → data|
|Priority:||undecided → blocker|
|Status:||new → closed|