mirror of
https://github.com/jquery/jquery.git
synced 2024-11-23 02:54:22 +00:00
Make the value hook less obtrusive for elements which do not inherently have a value property. Fixes #9328.
This commit is contained in:
parent
7d3ba9f89e
commit
ba90af0dc5
@ -498,7 +498,9 @@ jQuery.attrHooks.value = {
|
|||||||
if ( formHook && jQuery.nodeName( elem, "button" ) ) {
|
if ( formHook && jQuery.nodeName( elem, "button" ) ) {
|
||||||
return formHook.get( elem, name );
|
return formHook.get( elem, name );
|
||||||
}
|
}
|
||||||
return elem.value;
|
return name in elem ?
|
||||||
|
elem.value :
|
||||||
|
elem.getAttribute( name );
|
||||||
},
|
},
|
||||||
set: function( elem, value, name ) {
|
set: function( elem, value, name ) {
|
||||||
if ( formHook && jQuery.nodeName( elem, "button" ) ) {
|
if ( formHook && jQuery.nodeName( elem, "button" ) ) {
|
||||||
|
@ -40,7 +40,7 @@ test("jQuery.attrFix/jQuery.propFix integrity test", function() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
test("attr(String)", function() {
|
test("attr(String)", function() {
|
||||||
expect(42);
|
expect(43);
|
||||||
|
|
||||||
equals( jQuery("#text1").attr("type"), "text", "Check for type attribute" );
|
equals( jQuery("#text1").attr("type"), "text", "Check for type attribute" );
|
||||||
equals( jQuery("#radio1").attr("type"), "radio", "Check for type attribute" );
|
equals( jQuery("#radio1").attr("type"), "radio", "Check for type attribute" );
|
||||||
@ -54,6 +54,7 @@ test("attr(String)", function() {
|
|||||||
equals( jQuery("#text1").attr("name"), "action", "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" );
|
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("#text1").attr("value", "t").attr("value"), "t", "Check setting the value attribute" );
|
||||||
|
equals( jQuery("<div value='t'></div>").attr("value"), "t", "Check setting custom attr named 'value' on a div" );
|
||||||
equals( jQuery("#form").attr("blah", "blah").attr("blah"), "blah", "Set non-existant attribute on a form" );
|
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" );
|
equals( jQuery("#foo").attr("height"), undefined, "Non existent height attribute should return undefined" );
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user