X-Git-Url: http://git.asbjorn.it/?a=blobdiff_plain;f=src%2Fattributes.js;h=402c3dc04e621b1344a1ea65d5e4965d9b3ed85b;hb=100ed686426b8b404b094b8c8086aefce715f91a;hp=0a60b0d74bb41e88def55c26e25209e13dace58b;hpb=638c093b857197c0b25bd8b1ba5a9b00f82b39d5;p=jquery.git diff --git a/src/attributes.js b/src/attributes.js index 0a60b0d..402c3dc 100644 --- a/src/attributes.js +++ b/src/attributes.js @@ -1,3 +1,5 @@ +var rclass = /[\n\t]/g; + jQuery.fn.extend({ attr: function( name, value ) { return access(this, name, value, true, jQuery.attr); @@ -49,7 +51,7 @@ jQuery.fn.extend({ if ( elem.nodeType === 1 && elem.className ) { if ( value ) { - var className = " " + elem.className + " "; + var className = (" " + elem.className + " ").replace(rclass, " "); for ( var c = 0, cl = classNames.length; c < cl; c++ ) { className = className.replace(" " + classNames[c] + " ", " "); } @@ -67,7 +69,7 @@ jQuery.fn.extend({ hasClass: function( selector ) { var className = " " + selector + " "; for ( var i = 0, l = this.length; i < l; i++ ) { - if ( (" " + this[i].className + " ").indexOf( className ) > -1 ) { + if ( (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) > -1 ) { return true; } } @@ -163,8 +165,8 @@ jQuery.fn.extend({ jQuery.each({ removeAttr: function( name ) { + jQuery.attr( this, name, "" ); if ( this.nodeType === 1 ) { - this[ jQuery.isXMLDoc( this ) ? name : jQuery.props[ name ] || name ] = null; this.removeAttribute( name ); } }, @@ -202,17 +204,13 @@ jQuery.each({ 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 + offset: true }, attr: function( elem, name, value ) { @@ -221,7 +219,7 @@ jQuery.extend({ return undefined; } - if ( name in jQuery.attrFn ) { + if ( name in jQuery.attrFn && value !== undefined ) { return jQuery(elem)[name](value); }