From c1511c673148208ab17cafa0faf37bce3b4ae392 Mon Sep 17 00:00:00 2001 From: Timmy Willison Date: Thu, 7 Jan 2016 16:50:26 -0500 Subject: [PATCH] Data: find hyphenated data with camelCased key Fixes gh-2779 --- src/data.js | 7 ++++++- test/unit/data.js | 9 +++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/data.js b/src/data.js index f7734e7f3..b626fda45 100644 --- a/src/data.js +++ b/src/data.js @@ -123,7 +123,12 @@ jQuery.fn.extend( { // Attempt to get data from the cache // with the key as-is - data = dataUser.get( elem, key ); + data = dataUser.get( elem, key ) || + + // Try to find dashed key if it exists (gh-2779) + // This is for 2.2.x only + dataUser.get( elem, key.replace( rmultiDash, "-$&" ).toLowerCase() ); + if ( data !== undefined ) { return data; } diff --git a/test/unit/data.js b/test/unit/data.js index 077362eda..00eb9b48e 100644 --- a/test/unit/data.js +++ b/test/unit/data.js @@ -878,3 +878,12 @@ QUnit.test( ".data(prop) does not create expando", function( assert ) { } } } ); + +QUnit.test( ".data(camelCase) retrieves hyphenated keys", function( assert ) { + assert.expect( 1 ); + + var div = jQuery( "
" ); + + $.data( div[ 0 ], "data-test", "data" ); + assert.equal( div.data( "dataTest" ), "data" ); +} ); -- 2.39.5