Check empty string instead of specified as specified is inconsistent on the name attribute. Fixes #9148.
This commit is contained in:
parent
f7f8450041
commit
c72b0f3256
2 changed files with 5 additions and 3 deletions
|
@ -491,8 +491,8 @@ if ( !jQuery.support.getSetAttribute ) {
|
|||
return elem.getAttribute( name );
|
||||
}
|
||||
ret = elem.getAttributeNode( name );
|
||||
// Return undefined if not specified instead of empty string
|
||||
return ret && ret.specified ?
|
||||
// Return undefined if nodeValue is empty string
|
||||
return ret && ret.nodeValue !== "" ?
|
||||
ret.nodeValue :
|
||||
undefined;
|
||||
},
|
||||
|
|
|
@ -144,7 +144,7 @@ test("attr(Hash)", function() {
|
|||
});
|
||||
|
||||
test("attr(String, Object)", function() {
|
||||
expect(57);
|
||||
expect(58);
|
||||
|
||||
var div = jQuery("div").attr("foo", "bar"),
|
||||
fail = false;
|
||||
|
@ -164,6 +164,8 @@ test("attr(String, Object)", function() {
|
|||
equals( jQuery("#name").attr("name"), "something", "Set name attribute" );
|
||||
jQuery("#name").attr("name", null);
|
||||
equals( jQuery("#name").attr("name"), undefined, "Remove name attribute" );
|
||||
var $input = jQuery("<input>", { name: "something" });
|
||||
equals( $input.attr("name"), "something", "Check element creation gets/sets the name attribute." );
|
||||
|
||||
jQuery("#check2").prop("checked", true).prop("checked", false).attr("checked", true);
|
||||
equals( document.getElementById("check2").checked, true, "Set checked attribute" );
|
||||
|
|
Loading…
Reference in a new issue