From: timmywil Date: Tue, 19 Apr 2011 17:17:38 +0000 (-0400) Subject: Only use getAttributeNode on buttons when setting value X-Git-Tag: 1.6rc1~11^2~7 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=825d3d96cebf9a88f34411a2df95622fd3e32619;p=jquery.git Only use getAttributeNode on buttons when setting value --- diff --git a/src/attributes.js b/src/attributes.js index 794b98d75..d163469c7 100644 --- a/src/attributes.js +++ b/src/attributes.js @@ -435,6 +435,9 @@ if ( !jQuery.support.getSetAttribute ) { // And the name attribute formHook = jQuery.attrHooks.name = jQuery.attrHooks.value = jQuery.valHooks.button = { get: function( elem, name ) { + if ( name === "value" && !jQuery.nodeName( elem, "button" ) ) { + return elem.getAttribute( name ); + } var ret = elem.getAttributeNode( name ); // Return undefined if not specified instead of empty string return ret && ret.specified ? diff --git a/test/unit/attributes.js b/test/unit/attributes.js index 80ccf71a8..f663e443e 100644 --- a/test/unit/attributes.js +++ b/test/unit/attributes.js @@ -77,7 +77,7 @@ test("prop(String, Object)", function() { }); test("attr(String)", function() { - expect(34); + expect(35); equals( jQuery("#text1").attr("type"), "text", "Check for type attribute" ); equals( jQuery("#radio1").attr("type"), "radio", "Check for type attribute" ); @@ -90,6 +90,7 @@ test("attr(String)", function() { equals( jQuery("#name").attr("name"), "name", "Check for name attribute" ); equals( jQuery("#text1").attr("name"), "action", "Check for name attribute" ); ok( jQuery("#form").attr("action").indexOf("formaction") >= 0, "Check for action attribute" ); + equals( jQuery("#text1").attr("value", "t").attr("value"), "t", "Check setting the value attribute" ); equals( jQuery("#form").attr("blah", "blah").attr("blah"), "blah", "Set non-existant attribute on a form" ); equals( jQuery("#foo").attr("height"), undefined, "Non existent height attribute should return undefined" );