aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Tortorini <thomastortorini@gmail.com>2015-10-11 10:22:06 +0200
committerRichard Gibson <richard.gibson@gmail.com>2015-10-25 15:07:47 -0400
commitf5328b6a447f23fd8fb9465db36b6eb46e9d8ba6 (patch)
tree28a5c8f831ccbafa52a0baa73262824b3335a7b7
parentc003cd6bc8336927dad70889ee24e176f90b25a9 (diff)
downloadjquery-f5328b6a447f23fd8fb9465db36b6eb46e9d8ba6.tar.gz
jquery-f5328b6a447f23fd8fb9465db36b6eb46e9d8ba6.zip
Attributes: removeClass() -> attr("class", "")
- Classes simpliciation Close gh-2465 (cherry picked from commit 5db1e053098af747330044d5740e5379f2834402) Conflicts: src/attributes/classes.js
-rw-r--r--src/attributes/classes.js46
1 files changed, 22 insertions, 24 deletions
diff --git a/src/attributes/classes.js b/src/attributes/classes.js
index 15a37bc99..72aed146d 100644
--- a/src/attributes/classes.js
+++ b/src/attributes/classes.js
@@ -13,9 +13,7 @@ function getClass( elem ) {
jQuery.fn.extend( {
addClass: function( value ) {
var classes, elem, cur, curValue, clazz, j, finalValue,
- i = 0,
- len = this.length,
- proceed = typeof value === "string" && value;
+ i = 0;
if ( jQuery.isFunction( value ) ) {
return this.each( function( j ) {
@@ -23,13 +21,10 @@ jQuery.fn.extend( {
} );
}
- if ( proceed ) {
+ if ( typeof value === "string" && value ) {
+ classes = value.match( rnotwhite ) || [];
- // The disjunction here is for better compressibility (see removeClass)
- classes = ( value || "" ).match( rnotwhite ) || [];
-
- for ( ; i < len; i++ ) {
- elem = this[ i ];
+ while ( ( elem = this[ i++ ] ) ) {
curValue = getClass( elem );
cur = elem.nodeType === 1 &&
( " " + curValue + " " ).replace( rclass, " " );
@@ -56,20 +51,22 @@ jQuery.fn.extend( {
removeClass: function( value ) {
var classes, elem, cur, curValue, clazz, j, finalValue,
- i = 0,
- len = this.length,
- proceed = arguments.length === 0 || typeof value === "string" && value;
+ i = 0;
if ( jQuery.isFunction( value ) ) {
return this.each( function( j ) {
jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) );
} );
}
- if ( proceed ) {
- classes = ( value || "" ).match( rnotwhite ) || [];
- for ( ; i < len; i++ ) {
- elem = this[ i ];
+ if ( !arguments.length ) {
+ return this.attr( "class", "" );
+ }
+
+ if ( typeof value === "string" && value ) {
+ classes = value.match( rnotwhite ) || [];
+
+ while ( ( elem = this[ i++ ] ) ) {
curValue = getClass( elem );
// This expression is here for better compressibility (see addClass)
@@ -86,8 +83,8 @@ jQuery.fn.extend( {
}
}
- // only assign if different to avoid unneeded rendering.
- finalValue = value ? jQuery.trim( cur ) : "";
+ // Only assign if different to avoid unneeded rendering.
+ finalValue = jQuery.trim( cur );
if ( curValue !== finalValue ) {
elem.setAttribute( "class", finalValue );
}
@@ -125,12 +122,13 @@ jQuery.fn.extend( {
},
hasClass: function( selector ) {
- var className = " " + selector + " ",
- i = 0,
- l = this.length;
- for ( ; i < l; i++ ) {
- if ( this[ i ].nodeType === 1 &&
- ( " " + getClass( this[ i ] ) + " " ).replace( rclass, " " )
+ var className, elem,
+ i = 0;
+
+ className = " " + selector + " ";
+ while ( ( elem = this[ i++ ] ) ) {
+ if ( elem.nodeType === 1 &&
+ ( " " + getClass( elem ) + " " ).replace( rclass, " " )
.indexOf( className ) > -1
) {
return true;