From 1a3939659b2c2506fb50ca3ee21e84c642cb5f64 Mon Sep 17 00:00:00 2001 From: Oleg Gaidarenko Date: Mon, 8 Apr 2013 15:31:47 -0400 Subject: [PATCH] No ticket. Simplifies data methods and updates comments. Closes gh-1233 --- src/data.js | 32 +++++++++++++++----------------- 1 file changed, 15 insertions(+), 17 deletions(-) diff --git a/src/data.js b/src/data.js index 790a54c973..f5d3d178ac 100644 --- a/src/data.js +++ b/src/data.js @@ -49,7 +49,7 @@ Data.prototype = { descriptor[ this.expando ] = { value: unlock }; Object.defineProperties( owner, descriptor ); - // Support: Android<4 + // Support: Android < 4 // Fallback to a less secure definition } catch ( e ) { descriptor[ this.expando ] = unlock; @@ -92,8 +92,6 @@ Data.prototype = { } } } - - return this; }, get: function( owner, key ) { // Either a valid cache is found, or will be created. @@ -136,11 +134,12 @@ Data.prototype = { }, remove: function( owner, key ) { var i, name, - unlock = this.key( owner ), - cache = this.cache[ unlock ]; + unlock = this.key( owner ), + cache = this.cache[ unlock ]; if ( key === undefined ) { this.cache[ unlock ] = {}; + } else { // Support array or space separated string of keys if ( jQuery.isArray( key ) ) { @@ -166,7 +165,7 @@ Data.prototype = { i = name.length; while ( i-- ) { - delete cache[ name[i] ]; + delete cache[ name[ i ] ]; } } }, @@ -210,7 +209,7 @@ jQuery.extend({ }, removeData: function( elem, name ) { - return data_user.remove( elem, name ); + data_user.remove( elem, name ); }, // TODO: Replace all calls to _data and _removeData with direct @@ -225,14 +224,14 @@ jQuery.extend({ }, _removeData: function( elem, name ) { - return data_priv.remove( elem, name ); + data_priv.remove( elem, name ); } }); jQuery.fn.extend({ data: function( key, value ) { var attrs, name, - elem = this[0], + elem = this[ 0 ], i = 0, data = null; @@ -244,7 +243,7 @@ jQuery.fn.extend({ if ( elem.nodeType === 1 && !data_priv.get( elem, "hasDataAttrs" ) ) { attrs = elem.attributes; for ( ; i < attrs.length; i++ ) { - name = attrs[i].name; + name = attrs[ i ].name; if ( name.indexOf( "data-" ) === 0 ) { name = jQuery.camelCase( name.substring(5) ); @@ -267,12 +266,12 @@ jQuery.fn.extend({ return jQuery.access( this, function( value ) { var data, - camelKey = jQuery.camelCase( key ); + camelKey = jQuery.camelCase( key ); // The calling jQuery object (element matches) is not empty - // (and therefore has an element appears at this[0]) and the + // (and therefore has an element appears at this[ 0 ]) and the // `value` parameter was not undefined. An empty jQuery object - // will result in `undefined` for elem = this[0] which will + // will result in `undefined` for elem = this[ 0 ] which will // throw an exception if an attempt to read a data cache is made. if ( elem && value === undefined ) { // Attempt to get data from the cache @@ -297,7 +296,7 @@ jQuery.fn.extend({ } // We tried really hard, but the data doesn't exist. - return undefined; + return; } // Set the data... @@ -311,10 +310,10 @@ jQuery.fn.extend({ // This might not apply to all properties...* data_user.set( this, camelKey, value ); - // *... In the case of properties that might ACTUALLY + // *... In the case of properties that might _actually_ // have dashes, we need to also store a copy of that // unchanged property. - if ( /-/.test( key ) && data !== undefined ) { + if ( key.indexOf("-") !== -1 && data !== undefined ) { data_user.set( this, key, value ); } }); @@ -334,7 +333,6 @@ function dataAttr( elem, key, data ) { // If nothing was found internally, try to fetch any // data from the HTML5 data-* attribute if ( data === undefined && elem.nodeType === 1 ) { - name = "data-" + key.replace( rmultiDash, "-$1" ).toLowerCase(); data = elem.getAttribute( name );