diff options
author | Corey Frang <gnarf@gnarf.net> | 2011-09-19 21:16:20 -0400 |
---|---|---|
committer | timmywil <timmywillisn@gmail.com> | 2011-09-19 21:16:20 -0400 |
commit | 9b3768b968bc99d3422355e69e2c7c35bedf681e (patch) | |
tree | 74de01c5c901b166900a4ca563a41f3ce02c70b2 /src/data.js | |
parent | ca4133cc3fb4202d08de0d9e9d05e2442be63653 (diff) | |
download | jquery-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.js | 21 |
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 |