@@ -358,9 +358,10 @@ function jqLiteHasClass(element, selector) {
358
358
}
359
359
360
360
function jqLiteRemoveClass ( element , cssClasses ) {
361
- if ( cssClasses && element . setAttribute ) {
361
+ var setter = element . setAttribute ? function ( value ) { element . setAttribute ( 'class' , value ) } : function ( value ) { element . className = value } ;
362
+ if ( cssClasses && ( element . setAttribute || msie === 9 ) ) {
362
363
forEach ( cssClasses . split ( ' ' ) , function ( cssClass ) {
363
- element . setAttribute ( 'class' , trim (
364
+ setter ( trim (
364
365
( " " + ( element . getAttribute ( 'class' ) || '' ) + " " )
365
366
. replace ( / [ \n \t ] / g, " " )
366
367
. replace ( " " + trim ( cssClass ) + " " , " " ) )
@@ -371,7 +372,7 @@ function jqLiteRemoveClass(element, cssClasses) {
371
372
372
373
function jqLiteAddClass ( element , cssClasses ) {
373
374
if ( cssClasses && element . setAttribute ) {
374
- var existingClasses = ( ' ' + ( element . getAttribute ( 'class' ) || '' ) + ' ' )
375
+ var existingClasses = ( ' ' + ( element . getAttribute ( 'class' ) || element . className || '' ) + ' ' )
375
376
. replace ( / [ \n \t ] / g, " " ) ;
376
377
377
378
forEach ( cssClasses . split ( ' ' ) , function ( cssClass ) {
@@ -381,7 +382,8 @@ function jqLiteAddClass(element, cssClasses) {
381
382
}
382
383
} ) ;
383
384
384
- element . setAttribute ( 'class' , trim ( existingClasses ) ) ;
385
+ ( msie === 9 && ! ( element instanceof SVGElement ) ) ? element . className = trim ( existingClasses ) :
386
+ element . setAttribute ( 'class' , trim ( existingClasses ) ) ;
385
387
}
386
388
}
387
389
0 commit comments