File tree Expand file tree Collapse file tree 1 file changed +27
-11
lines changed Expand file tree Collapse file tree 1 file changed +27
-11
lines changed Original file line number Diff line number Diff line change 540540 return path ;
541541 }
542542
543+ const queryTypes = [
544+ "selector" ,
545+ "closest" ,
546+ "parent" ,
547+ "next" ,
548+ "previous" ,
549+ "document" ,
550+ "frame" ,
551+ "top"
552+ ] ;
553+
554+ const queryTypesRegex = new RegExp (
555+ `\\$(?:${ queryTypes . join ( "|" ) } )\\b` ,
556+ "g"
557+ ) ;
558+
543559 function queryElements ( { element = document , prefix, type, selector } ) {
544560 let elements = new Set ( ) ;
545- let queryTypes = [
546- "selector" ,
547- "closest" ,
548- "parent" ,
549- "next" ,
550- "previous" ,
551- "document" ,
552- "frame" ,
553- "top"
554- ] ;
555561
556562 let hasAttribute = false ;
557563
630636 selectors [ j ] = remainingSelector ;
631637 }
632638
633- let specialSelectors = selectors [ j ] . split ( ";" ) ;
639+ // Split selector while preserving special operators
640+ let specialSelectors = selector
641+ . split ( queryTypesRegex )
642+ . filter ( Boolean ) ;
643+
644+ // If no special operators are found, return selector as a single-element array
645+ specialSelectors =
646+ specialSelectors . length === 1
647+ ? [ selector ]
648+ : specialSelectors ;
649+
634650 for ( let k = 0 ; k < specialSelectors . length ; k ++ ) {
635651 specialSelectors [ k ] = specialSelectors [ k ] . trim ( ) ;
636652 if ( ! specialSelectors [ k ] ) continue ;
You can’t perform that action at this time.
0 commit comments