aboutsummaryrefslogtreecommitdiffstats
path: root/src/data.js
diff options
context:
space:
mode:
authorCorey Frang <gnarf@gnarf.net>2011-09-19 21:16:20 -0400
committertimmywil <timmywillisn@gmail.com>2011-09-19 21:16:20 -0400
commit9b3768b968bc99d3422355e69e2c7c35bedf681e (patch)
tree74de01c5c901b166900a4ca563a41f3ce02c70b2 /src/data.js
parentca4133cc3fb4202d08de0d9e9d05e2442be63653 (diff)
downloadjquery-9b3768b968bc99d3422355e69e2c7c35bedf681e.tar.gz
jquery-9b3768b968bc99d3422355e69e2c7c35bedf681e.zip
Landing pull request 512. 1.7 - removeData now takes space separated lists and arrays of keys - Fixes #7323.
More Details: - https://github.com/jquery/jquery/pull/512 - http://bugs.jquery.com/ticket/7323
Diffstat (limited to 'src/data.js')
-rw-r--r--src/data.js21
1 files changed, 17 insertions, 4 deletions
diff --git a/src/data.js b/src/data.js
index 1c6d1852c..0ce3b7d66 100644
--- a/src/data.js
+++ b/src/data.js
@@ -133,7 +133,7 @@ jQuery.extend({
return;
}
- var thisCache,
+ var thisCache, i, l,
// Reference to internal data cache key
internalKey = jQuery.expando,
@@ -158,12 +158,25 @@ jQuery.extend({
if ( thisCache ) {
- // Support interoperable removal of hyphenated or camelcased keys
- if ( !thisCache[ name ] ) {
+ // Support space separated names
+ if ( jQuery.isArray( name ) ) {
+ name = name;
+ } else if ( name in thisCache ) {
+ name = [ name ];
+ } else {
+
+ // split the camel cased version by spaces
name = jQuery.camelCase( name );
+ if ( name in thisCache ) {
+ name = [ name ];
+ } else {
+ name = name.split( " " );
+ }
}
- delete thisCache[ name ];
+ for ( i = 0, l = name.length; i < l; i++ ) {
+ delete thisCache[ name[i] ];
+ }
// If there is no data left in the cache, we want to continue
// and let the cache object itself get destroyed