X-Git-Url: http://git.asbjorn.it/?a=blobdiff_plain;f=src%2Fattributes.js;h=aca9e055dbdf1e113ca5d798230fb103cd7130c2;hb=266facc08a2e1c8cb5a7a60de304da47657f2227;hp=1dd70842c74ab7d375c31ab81a59e03b875c1206;hpb=4681216c4bdf25b6b146b3f952917f46079c6ef7;p=jquery.git diff --git a/src/attributes.js b/src/attributes.js index 1dd7084..aca9e05 100644 --- a/src/attributes.js +++ b/src/attributes.js @@ -9,17 +9,10 @@ var rclass = /[\n\t]/g, jQuery.fn.extend({ attr: function( name, value ) { - return access( this, name, value, true, jQuery.attr ); + return jQuery.access( this, name, value, true, jQuery.attr ); }, - removeAttr: function( name ) { - if ( jQuery.isFunction( name ) ) { - return this.each(function(i) { - var self = jQuery(this); - self.removeAttr( name.call(this, i, self.attr(name)) ); - }); - } - + removeAttr: function( name, fn ) { return this.each(function(){ jQuery.attr( this, name, "" ); if ( this.nodeType === 1 ) { @@ -47,12 +40,13 @@ jQuery.fn.extend({ elem.className = value; } else { - var className = " " + elem.className + " "; + var className = " " + elem.className + " ", setClass = elem.className; for ( var c = 0, cl = classNames.length; c < cl; c++ ) { if ( className.indexOf( " " + classNames[c] + " " ) < 0 ) { - elem.className += " " + classNames[c]; + setClass += " " + classNames[c]; } } + elem.className = jQuery.trim( setClass ); } } } @@ -81,7 +75,7 @@ jQuery.fn.extend({ for ( var c = 0, cl = classNames.length; c < cl; c++ ) { className = className.replace(" " + classNames[c] + " ", " "); } - elem.className = className.substring(1, className.length - 1); + elem.className = jQuery.trim( className ); } else { elem.className = ""; @@ -99,7 +93,7 @@ jQuery.fn.extend({ if ( jQuery.isFunction( value ) ) { return this.each(function(i) { var self = jQuery(this); - self.toggleClass( value.call(this, i, self.attr("class")), stateVal ); + self.toggleClass( value.call(this, i, self.attr("class"), stateVal), stateVal ); }); } @@ -288,7 +282,7 @@ jQuery.extend({ if ( set ) { // We can't allow the type property to be changed (since it causes problems in IE) if ( name === "type" && rtype.test( elem.nodeName ) && elem.parentNode ) { - throw "type property can't be changed"; + jQuery.error( "type property can't be changed" ); } elem[ name ] = value; @@ -337,7 +331,7 @@ jQuery.extend({ } // elem is actually elem.style ... set the style - // Using attr for specific style information is now deprecated. Use style insead. + // Using attr for specific style information is now deprecated. Use style instead. return jQuery.style( elem, name, value ); } });