X-Git-Url: http://git.asbjorn.it/?a=blobdiff_plain;f=src%2Fattributes.js;h=9c868ee0359dd1e155415cbc11b606da3bb75e2e;hb=253e73af5173413b2938f911087d361e42cf0763;hp=8d889fc97ece1e8e8ba9dbfcb23874ec4c359e09;hpb=da51cd0e43d6d61e0d3d6c197cef1e658bad29bc;p=jquery.git diff --git a/src/attributes.js b/src/attributes.js index 8d889fc..9c868ee 100644 --- a/src/attributes.js +++ b/src/attributes.js @@ -4,11 +4,11 @@ jQuery.fn.extend({ }, addClass: function( value ) { - if(jQuery.isFunction(value)) { - return this.each(function() { - jQuery(this).addClass( value.call(this) ); - }); - } + if(jQuery.isFunction(value)) { + return this.each(function() { + jQuery(this).addClass( value.call(this) ); + }); + } if ( value && typeof value === "string" ) { var classNames = (value || "").split(/\s+/); @@ -35,11 +35,11 @@ jQuery.fn.extend({ }, removeClass: function( value ) { - if(jQuery.isFunction(value)) { - return this.each(function() { - jQuery(this).removeClass( value.call(this) ); - }); - } + if(jQuery.isFunction(value)) { + return this.each(function() { + jQuery(this).removeClass( value.call(this) ); + }); + } if ( (value && typeof value === "string") || value === undefined ) { var classNames = (value || "").split(/\s+/); @@ -170,13 +170,6 @@ jQuery.each({ }, toggleClass: function( classNames, state ) { - if( jQuery.isFunction(classNames) ) { - return this.each(function() { - console.log(this); - jQuery(this).toggleClass( classNames.call(this), state ); - }); - } - var type = typeof classNames; if ( type === "string" ) { // toggle individual class names @@ -198,21 +191,37 @@ jQuery.each({ } }, function(name, fn){ jQuery.fn[ name ] = function(val, state){ - if( jQuery.isFunction( val ) ) { - return this.each(function() { jQuery(this)[ name ]( val.call(this), state ); }); - } + if( jQuery.isFunction( val ) ) { + return this.each(function() { jQuery(this)[ name ]( val.call(this), state ); }); + } return this.each( fn, arguments ); }; }); jQuery.extend({ + attrFn: { + val: true, + addClass: true, + css: true, + html: true, + text: true, + append: true, + prepend: true, + data: true, + width: true, + height: true, + offset: true, + bind: true + }, + attr: function( elem, name, value ) { // don't set attributes on text and comment nodes if (!elem || elem.nodeType == 3 || elem.nodeType == 8) { return undefined; } - if ( name in jQuery.fn && name !== "attr" ) { + + if ( name in jQuery.attrFn ) { return jQuery(elem)[name](value); }