357
357
$ . fn . extend ( {
358
358
addClass : function ( value ) {
359
359
var i = 0 ,
360
- j = 0 ,
360
+ j ,
361
361
cur = '' ,
362
362
elem = null ,
363
363
classes = [ ] ,
364
364
clazz = '' ,
365
365
len = this . length ,
366
+ finalValue = '' ,
366
367
proceed = typeof value === 'string' && value ;
367
368
368
369
if ( proceed ) {
369
370
classes = value . match ( rnotwhite ) ;
370
371
for ( ; i < len ; i ++ ) {
371
372
elem = this [ i ] ;
372
373
373
- cur = elem . nodeType === 1 && elem . className ? ' ' + elem . className + ' ' : '' ;
374
+ cur = elem . nodeType === 1 && ( elem . className ? ' ' + elem . className + ' ' : '' ) ;
374
375
if ( cur ) {
376
+ j = 0 ;
377
+
378
+ while ( ( clazz = classes [ j ++ ] ) ) {
379
+ if ( cur . indexOf ( ' ' + clazz + ' ' ) < 0 ) {
380
+ cur += clazz + ' ' ;
381
+ }
382
+ }
383
+
384
+ finalValue = $ . trim ( cur ) ;
385
+ if ( elem . className !== finalValue ) { // 为了防止重绘
386
+ elem . className = finalValue ;
387
+ }
388
+ }
389
+ }
390
+ }
391
+
392
+ return this ;
393
+ } ,
394
+ removeClass : function ( value ) {
395
+ var i = 0 ,
396
+ j ,
397
+ cur = '' ,
398
+ elem = null ,
399
+ classes = [ ] ,
400
+ clazz = '' ,
401
+ len = this . length ,
402
+ finalValue = '' ,
403
+ proceed = arguments . length === 0 || typeof value === 'string' && value ;
404
+
405
+ if ( proceed ) {
406
+ classes = value . match ( rnotwhite ) ;
407
+ for ( ; i < len ; i ++ ) {
408
+ elem = this [ i ] ;
375
409
410
+ cur = elem . nodeType === 1 && ( elem . className ? ' ' + elem . className + ' ' : '' ) ;
411
+ if ( cur ) {
412
+ j = 0 ;
413
+
414
+ while ( ( clazz = classes [ j ++ ] ) ) {
415
+ while ( cur . indexOf ( ' ' + clazz + ' ' ) >= 0 ) {
416
+ cur = cur . replace ( ' ' + clazz + ' ' , ' ' ) ;
417
+ }
418
+ }
419
+
420
+ finalValue = value ? $ . trim ( cur ) : '' ;
421
+ if ( elem . className !== finalValue ) { // 为了防止重绘
422
+ elem . className = finalValue ;
423
+ }
376
424
}
377
425
}
378
426
}
427
+
428
+ return this ;
429
+ } ,
430
+ toggleClass : function ( ) {
431
+
379
432
}
380
433
} ) ;
381
434
384
437
// 2014-04-21 : 准备开发第一版
385
438
// 2014-04-30 : 完成$.type, $.each等方法
386
439
// 2014-05-04 : 增加$.get方法
387
- // 2014-05-05 : 以精减的方式添加:append,prepend,before,after方法,但存在tbody问题未处理;添加addClass
440
+ // 2014-05-05 : 以精减的方式添加:append,prepend,before,after方法,但存在tbody问题未处理;添加addClass,removeClass
0 commit comments