]> source.dussan.org Git - jquery.git/commitdiff
Only use getAttributeNode on buttons when setting value
authortimmywil <tim.willison@thisismedium.com>
Tue, 19 Apr 2011 17:17:38 +0000 (13:17 -0400)
committertimmywil <tim.willison@thisismedium.com>
Tue, 19 Apr 2011 17:17:38 +0000 (13:17 -0400)
src/attributes.js
test/unit/attributes.js

index 794b98d75f7b40e6f3abafd5600577164ec6d6f7..d163469c7f8ad3f33757a15d65a59291ce86beb9 100644 (file)
@@ -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 ?
index 80ccf71a83bad77866182643d4d63691c6fbc0ea..f663e443e9915f417c11d1238de3f121483fe59f 100644 (file)
@@ -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" );