From: John Resig Date: Mon, 6 Dec 2010 22:24:13 +0000 (-0500) Subject: Merge branch 'bug7524' of https://github.com/csnover/jquery into csnover-bug7524 X-Git-Url: http://git.asbjorn.it/?a=commitdiff_plain;h=8943b427f67766fd8d9e8a95b471ff4077213be2;hp=9759e9f6bb9b85a95e0254e6b7b2ed861aee8c84;p=jquery.git Merge branch 'bug7524' of https://github.com/csnover/jquery into csnover-bug7524 --- diff --git a/src/data.js b/src/data.js index f7f65ef..f1e031f 100644 --- a/src/data.js +++ b/src/data.js @@ -138,15 +138,17 @@ jQuery.fn.extend({ if ( typeof key === "undefined" ) { if ( this.length ) { - var attr = this[0].attributes, name; data = jQuery.data( this[0] ); - for ( var i = 0, l = attr.length; i < l; i++ ) { - name = attr[i].name; - - if ( name.indexOf( "data-" ) === 0 ) { - name = name.substr( 5 ); - dataAttr( this[0], name, data[ name ] ); + if ( this[0].nodeType === 1 ) { + var attr = this[0].attributes, name; + for ( var i = 0, l = attr.length; i < l; i++ ) { + name = attr[i].name; + + if ( name.indexOf( "data-" ) === 0 ) { + name = name.substr( 5 ); + dataAttr( this[0], name, data[ name ] ); + } } } } diff --git a/test/unit/data.js b/test/unit/data.js index 315043c..1a0f84c 100644 --- a/test/unit/data.js +++ b/test/unit/data.js @@ -79,7 +79,7 @@ test("jQuery.data", function() { }); test(".data()", function() { - expect(4); + expect(5); var div = jQuery("#foo"); strictEqual( div.data("foo"), undefined, "Make sure that missing result is undefined" ); @@ -90,6 +90,9 @@ test(".data()", function() { var nodiv = jQuery("#unfound"); equals( nodiv.data(), null, "data() on empty set returns null" ); + + var obj = { foo: "bar" }; + equals( jQuery(obj).data(), obj, "Retrieve data object from a wrapped JS object (#7524)" ); }) test(".data(String) and .data(String, Object)", function() {