diff options
Diffstat (limited to 'src/attributes/classes.js')
-rw-r--r-- | src/attributes/classes.js | 29 |
1 files changed, 12 insertions, 17 deletions
diff --git a/src/attributes/classes.js b/src/attributes/classes.js index 2e8a8caba..23b4cd6af 100644 --- a/src/attributes/classes.js +++ b/src/attributes/classes.js @@ -1,14 +1,13 @@ define( [ "../core", - "../var/rnotwhite", + "../core/stripAndCollapse", + "../var/rnothtmlwhite", "../data/var/dataPriv", "../core/init" -], function( jQuery, rnotwhite, dataPriv ) { +], function( jQuery, stripAndCollapse, rnothtmlwhite, dataPriv ) { "use strict"; -var rclass = /[\t\r\n\f]/g; - function getClass( elem ) { return elem.getAttribute && elem.getAttribute( "class" ) || ""; } @@ -25,12 +24,11 @@ jQuery.fn.extend( { } if ( typeof value === "string" && value ) { - classes = value.match( rnotwhite ) || []; + classes = value.match( rnothtmlwhite ) || []; while ( ( elem = this[ i++ ] ) ) { curValue = getClass( elem ); - cur = elem.nodeType === 1 && - ( " " + curValue + " " ).replace( rclass, " " ); + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); if ( cur ) { j = 0; @@ -41,7 +39,7 @@ jQuery.fn.extend( { } // Only assign if different to avoid unneeded rendering. - finalValue = jQuery.trim( cur ); + finalValue = stripAndCollapse( cur ); if ( curValue !== finalValue ) { elem.setAttribute( "class", finalValue ); } @@ -67,14 +65,13 @@ jQuery.fn.extend( { } if ( typeof value === "string" && value ) { - classes = value.match( rnotwhite ) || []; + classes = value.match( rnothtmlwhite ) || []; while ( ( elem = this[ i++ ] ) ) { curValue = getClass( elem ); // This expression is here for better compressibility (see addClass) - cur = elem.nodeType === 1 && - ( " " + curValue + " " ).replace( rclass, " " ); + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); if ( cur ) { j = 0; @@ -87,7 +84,7 @@ jQuery.fn.extend( { } // Only assign if different to avoid unneeded rendering. - finalValue = jQuery.trim( cur ); + finalValue = stripAndCollapse( cur ); if ( curValue !== finalValue ) { elem.setAttribute( "class", finalValue ); } @@ -122,7 +119,7 @@ jQuery.fn.extend( { // Toggle individual class names i = 0; self = jQuery( this ); - classNames = value.match( rnotwhite ) || []; + classNames = value.match( rnothtmlwhite ) || []; while ( ( className = classNames[ i++ ] ) ) { @@ -165,10 +162,8 @@ jQuery.fn.extend( { className = " " + selector + " "; while ( ( elem = this[ i++ ] ) ) { if ( elem.nodeType === 1 && - ( " " + getClass( elem ) + " " ).replace( rclass, " " ) - .indexOf( className ) > -1 - ) { - return true; + ( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) { + return true; } } |