Style edits according to comments from John and rwaldron.
This commit is contained in:
parent
f578e0f997
commit
dbe3b7a9d0
|
@ -320,7 +320,9 @@ jQuery.extend({
|
||||||
var attr = elem.getAttribute( name );
|
var attr = elem.getAttribute( name );
|
||||||
|
|
||||||
// Non-existent attributes return null, we normalize to undefined
|
// Non-existent attributes return null, we normalize to undefined
|
||||||
return attr === null || attr === "undefined" || attr === "null" ? undefined : attr;
|
return attr === null || attr === "undefined" || attr === "null" ?
|
||||||
|
undefined :
|
||||||
|
attr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -328,10 +330,17 @@ jQuery.extend({
|
||||||
removeAttr: function( elem, name ) {
|
removeAttr: function( elem, name ) {
|
||||||
name = jQuery.attrFix[ name ] || name;
|
name = jQuery.attrFix[ name ] || name;
|
||||||
|
|
||||||
jQuery.support.getSetAttribute ? elem.removeAttribute( name ) :
|
if ( jQuery.support.getSetAttribute ) {
|
||||||
|
elem.removeAttribute( name )
|
||||||
|
} else {
|
||||||
// set property to null if getSetAttribute not supported (IE6-7)
|
// set property to null if getSetAttribute not supported (IE6-7)
|
||||||
// setting className to null makes the class "null"
|
// setting className to null makes the class "null"
|
||||||
name === "className" ? elem.className = "" : elem.setAttribute( name, null );
|
if ( name === "className" ) {
|
||||||
|
elem.className = ""
|
||||||
|
} else {
|
||||||
|
elem.setAttribute( name, null );
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
attrHooks: {
|
attrHooks: {
|
||||||
|
@ -345,10 +354,7 @@ jQuery.extend({
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
// TODO: Check to see if we really need any here.
|
propFix: {},
|
||||||
propFix: {
|
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
prop: function( elem, name, value ) {
|
prop: function( elem, name, value ) {
|
||||||
|
|
||||||
|
@ -403,10 +409,14 @@ if ( !jQuery.support.getSetAttribute ) {
|
||||||
// Action attribute in ie6/7 returns form objects
|
// Action attribute in ie6/7 returns form objects
|
||||||
jQuery.attrHooks.action = {
|
jQuery.attrHooks.action = {
|
||||||
get: function( elem ) {
|
get: function( elem ) {
|
||||||
return elem.nodeName === "FORM" ? elem.getAttributeNode("action").nodeValue : elem.getAttribute("action");
|
return elem.nodeName === "FORM" ?
|
||||||
|
elem.getAttributeNode("action").nodeValue :
|
||||||
|
elem.getAttribute("action");
|
||||||
},
|
},
|
||||||
set: function( elem, value ) {
|
set: function( elem, value ) {
|
||||||
elem.nodeName === "FORM" ? elem.getAttributeNode("action").nodeValue = value : elem.setAttribute("action", value);
|
elem.nodeName === "FORM" ?
|
||||||
|
elem.getAttributeNode("action").nodeValue = value :
|
||||||
|
elem.setAttribute("action", value);
|
||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -3,6 +3,31 @@ module("attributes", { teardown: moduleTeardown });
|
||||||
var bareObj = function(value) { return value; };
|
var bareObj = function(value) { return value; };
|
||||||
var functionReturningObj = function(value) { return (function() { return value; }); };
|
var functionReturningObj = function(value) { return (function() { return value; }); };
|
||||||
|
|
||||||
|
if ( !jQuery.support.getSetAttribute ) {
|
||||||
|
test("jQuery.attrFix integrity test", function() {
|
||||||
|
expect(1);
|
||||||
|
|
||||||
|
// This must be maintained and equal jQuery.attrFix when appropriate
|
||||||
|
// Ensure that accidental or erroneous property
|
||||||
|
// overwrites don't occur
|
||||||
|
// This is simply for better code coverage and future proofing.
|
||||||
|
var propsShouldBe = {
|
||||||
|
"for": "htmlFor",
|
||||||
|
"class": "className",
|
||||||
|
readonly: "readOnly",
|
||||||
|
maxlength: "maxLength",
|
||||||
|
cellspacing: "cellSpacing",
|
||||||
|
rowspan: "rowSpan",
|
||||||
|
colspan: "colSpan",
|
||||||
|
tabindex: "tabIndex",
|
||||||
|
usemap: "useMap",
|
||||||
|
frameborder: "frameBorder"
|
||||||
|
};
|
||||||
|
|
||||||
|
same(propsShouldBe, jQuery.attrFix, "jQuery.attrFix passes integrity check");
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
test("prop", function() {
|
test("prop", function() {
|
||||||
equals( jQuery('#text1').prop('value'), "Test", 'Check for value attribute' );
|
equals( jQuery('#text1').prop('value'), "Test", 'Check for value attribute' );
|
||||||
equals( jQuery('#text1').prop('value', "Test2").prop('defaultValue'), "Test", 'Check for defaultValue attribute' );
|
equals( jQuery('#text1').prop('value', "Test2").prop('defaultValue'), "Test", 'Check for defaultValue attribute' );
|
||||||
|
|
Loading…
Reference in a new issue