@@ -422,29 +422,35 @@ function jqLiteRemoveClass(element, cssClasses) {
422
422
if ( cssClasses && element . setAttribute ) {
423
423
var existingClasses = ( ' ' + ( element . getAttribute ( 'class' ) || '' ) + ' ' )
424
424
. replace ( / [ \n \t ] / g, ' ' ) ;
425
+ var newClasses = existingClasses ;
425
426
426
427
forEach ( cssClasses . split ( ' ' ) , function ( cssClass ) {
427
428
cssClass = trim ( cssClass ) ;
428
- existingClasses = existingClasses . replace ( ' ' + cssClass + ' ' , ' ' ) ;
429
+ newClasses = newClasses . replace ( ' ' + cssClass + ' ' , ' ' ) ;
429
430
} ) ;
430
431
431
- element . setAttribute ( 'class' , trim ( existingClasses ) ) ;
432
+ if ( newClasses !== existingClasses ) {
433
+ element . setAttribute ( 'class' , trim ( newClasses ) ) ;
434
+ }
432
435
}
433
436
}
434
437
435
438
function jqLiteAddClass ( element , cssClasses ) {
436
439
if ( cssClasses && element . setAttribute ) {
437
440
var existingClasses = ( ' ' + ( element . getAttribute ( 'class' ) || '' ) + ' ' )
438
441
. replace ( / [ \n \t ] / g, ' ' ) ;
442
+ var newClasses = existingClasses ;
439
443
440
444
forEach ( cssClasses . split ( ' ' ) , function ( cssClass ) {
441
445
cssClass = trim ( cssClass ) ;
442
- if ( existingClasses . indexOf ( ' ' + cssClass + ' ' ) === - 1 ) {
443
- existingClasses += cssClass + ' ' ;
446
+ if ( newClasses . indexOf ( ' ' + cssClass + ' ' ) === - 1 ) {
447
+ newClasses += cssClass + ' ' ;
444
448
}
445
449
} ) ;
446
450
447
- element . setAttribute ( 'class' , trim ( existingClasses ) ) ;
451
+ if ( newClasses !== existingClasses ) {
452
+ element . setAttribute ( 'class' , trim ( newClasses ) ) ;
453
+ }
448
454
}
449
455
}
450
456
0 commit comments