@@ -422,7 +422,7 @@ var Expr = Sizzle.selectors = {
422
422
}
423
423
return false ;
424
424
}
425
- } else if ( Expr . match . POS . test ( match [ 0 ] ) ) {
425
+ } else if ( Expr . match . POS . test ( match [ 0 ] ) || Expr . match . CHILD . test ( match [ 0 ] ) ) {
426
426
return true ;
427
427
}
428
428
@@ -519,6 +519,25 @@ var Expr = Sizzle.selectors = {
519
519
}
520
520
} ,
521
521
filter : {
522
+ PSEUDO : function ( elem , match , i , array ) {
523
+ var name = match [ 1 ] , filter = Expr . filters [ name ] ;
524
+
525
+ if ( filter ) {
526
+ return filter ( elem , i , match , array ) ;
527
+ } else if ( name === "contains" ) {
528
+ return ( elem . textContent || elem . innerText || "" ) . indexOf ( match [ 3 ] ) >= 0 ;
529
+ } else if ( name === "not" ) {
530
+ var not = match [ 3 ] ;
531
+
532
+ for ( var i = 0 , l = not . length ; i < l ; i ++ ) {
533
+ if ( not [ i ] === elem ) {
534
+ return false ;
535
+ }
536
+ }
537
+
538
+ return true ;
539
+ }
540
+ } ,
522
541
CHILD : function ( elem , match ) {
523
542
var type = match [ 1 ] , node = elem ;
524
543
switch ( type ) {
@@ -562,25 +581,6 @@ var Expr = Sizzle.selectors = {
562
581
}
563
582
}
564
583
} ,
565
- PSEUDO : function ( elem , match , i , array ) {
566
- var name = match [ 1 ] , filter = Expr . filters [ name ] ;
567
-
568
- if ( filter ) {
569
- return filter ( elem , i , match , array ) ;
570
- } else if ( name === "contains" ) {
571
- return ( elem . textContent || elem . innerText || "" ) . indexOf ( match [ 3 ] ) >= 0 ;
572
- } else if ( name === "not" ) {
573
- var not = match [ 3 ] ;
574
-
575
- for ( var i = 0 , l = not . length ; i < l ; i ++ ) {
576
- if ( not [ i ] === elem ) {
577
- return false ;
578
- }
579
- }
580
-
581
- return true ;
582
- }
583
- } ,
584
584
ID : function ( elem , match ) {
585
585
return elem . nodeType === 1 && elem . getAttribute ( "id" ) === match ;
586
586
} ,
0 commit comments