mirror of
https://github.com/jquery/jquery.git
synced 2025-01-10 18:24:24 +00:00
Fixes #14047 jQuery.data should not miss data-* w/ hyphenated property names
http://bugs.jquery.com/ticket/14047 Signed-off-by: Rick Waldron <waldron.rick@gmail.com>
This commit is contained in:
parent
3a434434c4
commit
147726af12
@ -113,6 +113,7 @@ Data.prototype = {
|
||||
cache : cache[ key ];
|
||||
},
|
||||
access: function( owner, key, value ) {
|
||||
var stored;
|
||||
// In cases where either:
|
||||
//
|
||||
// 1. No key was specified
|
||||
@ -126,7 +127,11 @@ Data.prototype = {
|
||||
//
|
||||
if ( key === undefined ||
|
||||
((key && typeof key === "string") && value === undefined) ) {
|
||||
return this.get( owner, key );
|
||||
|
||||
stored = this.get( owner, key );
|
||||
|
||||
return stored !== undefined ?
|
||||
stored : this.get( owner, jQuery.camelCase(key) );
|
||||
}
|
||||
|
||||
// [*]When the key is not a string, or both a key and value
|
||||
|
@ -529,6 +529,17 @@ test(".data should not miss preset data-* w/ hyphenated property names", functio
|
||||
});
|
||||
});
|
||||
|
||||
test("jQuery.data should not miss data-* w/ hyphenated property names #14047", function() {
|
||||
|
||||
expect(1);
|
||||
|
||||
var div = jQuery("<div/>");
|
||||
|
||||
div.data( "foo-bar", "baz" );
|
||||
|
||||
equal( jQuery.data(div[0], "foo-bar"), "baz", "data with property 'foo-bar' was correctly found");
|
||||
});
|
||||
|
||||
test(".data should not miss attr() set data-* with hyphenated property names", function() {
|
||||
expect(2);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user