@@ -7,8 +7,8 @@ exports.active = false;
7
7
exports . description = 'removes arbitrary elements by ID or className (disabled by default)' ;
8
8
9
9
exports . params = {
10
- id : [ ] ,
11
- class : [ ]
10
+ id : [ ] ,
11
+ class : [ ]
12
12
} ;
13
13
14
14
/**
@@ -51,30 +51,28 @@ exports.params = {
51
51
* @author Eli Dupuis (@elidupuis)
52
52
*/
53
53
exports . fn = function ( item , params ) {
54
- var elemId , elemClass ;
55
-
56
- // wrap params in an array if not already
57
- [ 'id' , 'class' ] . forEach ( function ( key ) {
58
- if ( ! Array . isArray ( params [ key ] ) ) {
59
- params [ key ] = [ params [ key ] ] ;
60
- }
61
- } ) ;
62
-
63
- // abort if current item is no an element
64
- if ( ! item . isElem ( ) ) {
65
- return ;
54
+ // wrap params in an array if not already
55
+ [ 'id' , 'class' ] . forEach ( function ( key ) {
56
+ if ( ! Array . isArray ( params [ key ] ) ) {
57
+ params [ key ] = [ params [ key ] ] ;
66
58
}
59
+ } ) ;
67
60
68
- // remove element if it's `id` matches configured `id` params
69
- elemId = item . attr ( 'id' ) ;
70
- if ( elemId ) {
71
- return params . id . indexOf ( elemId . value ) === - 1 ;
72
- }
61
+ // abort if current item is no an element
62
+ if ( ! item . isElem ( ) ) {
63
+ return ;
64
+ }
73
65
74
- // remove element if it's `class` contains any of the configured `class` params
75
- elemClass = item . attr ( 'class' ) ;
76
- if ( elemClass ) {
77
- var hasClassRegex = new RegExp ( params . class . join ( '|' ) ) ;
78
- return ! hasClassRegex . test ( elemClass . value ) ;
79
- }
66
+ // remove element if it's `id` matches configured `id` params
67
+ const elemId = item . attr ( 'id' ) ;
68
+ if ( elemId && params . id . length !== 0 ) {
69
+ return params . id . includes ( elemId . value ) === false ;
70
+ }
71
+
72
+ // remove element if it's `class` contains any of the configured `class` params
73
+ const elemClass = item . attr ( 'class' ) ;
74
+ if ( elemClass && params . class . length !== 0 ) {
75
+ const classList = elemClass . value . split ( ' ' ) ;
76
+ return params . class . some ( item => classList . includes ( item ) ) === false ;
77
+ }
80
78
} ;
0 commit comments