@@ -422,29 +422,35 @@ function jqLiteRemoveClass(element, cssClasses) {
422422 if ( cssClasses && element . setAttribute ) {
423423 var existingClasses = ( ' ' + ( element . getAttribute ( 'class' ) || '' ) + ' ' )
424424 . replace ( / [ \n \t ] / g, ' ' ) ;
425+ var newClasses = existingClasses ;
425426
426427 forEach ( cssClasses . split ( ' ' ) , function ( cssClass ) {
427428 cssClass = trim ( cssClass ) ;
428- existingClasses = existingClasses . replace ( ' ' + cssClass + ' ' , ' ' ) ;
429+ newClasses = newClasses . replace ( ' ' + cssClass + ' ' , ' ' ) ;
429430 } ) ;
430431
431- element . setAttribute ( 'class' , trim ( existingClasses ) ) ;
432+ if ( newClasses !== existingClasses ) {
433+ element . setAttribute ( 'class' , trim ( newClasses ) ) ;
434+ }
432435 }
433436}
434437
435438function jqLiteAddClass ( element , cssClasses ) {
436439 if ( cssClasses && element . setAttribute ) {
437440 var existingClasses = ( ' ' + ( element . getAttribute ( 'class' ) || '' ) + ' ' )
438441 . replace ( / [ \n \t ] / g, ' ' ) ;
442+ var newClasses = existingClasses ;
439443
440444 forEach ( cssClasses . split ( ' ' ) , function ( cssClass ) {
441445 cssClass = trim ( cssClass ) ;
442- if ( existingClasses . indexOf ( ' ' + cssClass + ' ' ) === - 1 ) {
443- existingClasses += cssClass + ' ' ;
446+ if ( newClasses . indexOf ( ' ' + cssClass + ' ' ) === - 1 ) {
447+ newClasses += cssClass + ' ' ;
444448 }
445449 } ) ;
446450
447- element . setAttribute ( 'class' , trim ( existingClasses ) ) ;
451+ if ( newClasses !== existingClasses ) {
452+ element . setAttribute ( 'class' , trim ( newClasses ) ) ;
453+ }
448454 }
449455}
450456
0 commit comments