]> source.dussan.org Git - jquery.git/commitdiff
Fix #14101: $().data() should be undefined, not null
authorCorey Frang <gnarf37@gmail.com>
Tue, 5 Nov 2013 20:03:28 +0000 (15:03 -0500)
committerCorey Frang <gnarf37@gmail.com>
Wed, 6 Nov 2013 16:07:52 +0000 (11:07 -0500)
- Backported 30eee925dbc9f8d465ccf064f48c24061ffdc378 for 1.x

src/data.js
test/unit/data.js

index 248a5df501b2815a4ac73a50d95ae164ab1d5708..8b4b0efca8d65f8dc674fa0dd43abe80692eb836 100644 (file)
@@ -272,8 +272,7 @@ jQuery.extend({
 
 jQuery.fn.extend({
        data: function( key, value ) {
-               var i, name,
-                       data = null,
+               var i, name, data,
                        elem = this[0],
                        attrs = elem && elem.attributes;
 
@@ -319,7 +318,7 @@ jQuery.fn.extend({
 
                        // Gets one value
                        // Try to fetch any internally stored data first
-                       elem ? dataAttr( elem, key, jQuery.data( elem, key ) ) : null;
+                       elem ? dataAttr( elem, key, jQuery.data( elem, key ) ) : undefined;
        },
 
        removeData: function( key ) {
index 1e857ae6e97f8a88159e0df853fd23d23a8d891d..c62dcf952e532acfb6e7dc70eccef9be91cc5b0d 100644 (file)
@@ -164,6 +164,12 @@ test("jQuery.acceptData", function() {
        ok( !jQuery.acceptData( document.createTextNode("") ), "text" );
 });
 
+// attempting to access the data of an undefined jQuery element should be undefined
+test("jQuery().data() === undefined (#14101)", 2, function() {
+       strictEqual(jQuery().data(), undefined);
+       strictEqual(jQuery().data("key"), undefined);
+});
+
 test(".data()", function() {
        expect(5);