( selector, context, results, seed )
| 3723 | }); |
| 3724 | |
| 3725 | var Sizzle = function( selector, context, results, seed ) { |
| 3726 | results = results || []; |
| 3727 | context = context || document; |
| 3728 | |
| 3729 | var origContext = context; |
| 3730 | |
| 3731 | if ( context.nodeType !== 1 && context.nodeType !== 9 ) { |
| 3732 | return []; |
| 3733 | } |
| 3734 | |
| 3735 | if ( !selector || typeof selector !== "string" ) { |
| 3736 | return results; |
| 3737 | } |
| 3738 | |
| 3739 | var m, set, checkSet, extra, ret, cur, pop, i, |
| 3740 | prune = true, |
| 3741 | contextXML = Sizzle.isXML( context ), |
| 3742 | parts = [], |
| 3743 | soFar = selector; |
| 3744 | |
| 3745 | // Reset the position of the chunker regexp (start from head) |
| 3746 | do { |
| 3747 | chunker.exec( "" ); |
| 3748 | m = chunker.exec( soFar ); |
| 3749 | |
| 3750 | if ( m ) { |
| 3751 | soFar = m[3]; |
| 3752 | |
| 3753 | parts.push( m[1] ); |
| 3754 | |
| 3755 | if ( m[2] ) { |
| 3756 | extra = m[3]; |
| 3757 | break; |
| 3758 | } |
| 3759 | } |
| 3760 | } while ( m ); |
| 3761 | |
| 3762 | if ( parts.length > 1 && origPOS.exec( selector ) ) { |
| 3763 | |
| 3764 | if ( parts.length === 2 && Expr.relative[ parts[0] ] ) { |
| 3765 | set = posProcess( parts[0] + parts[1], context ); |
| 3766 | |
| 3767 | } else { |
| 3768 | set = Expr.relative[ parts[0] ] ? |
| 3769 | [ context ] : |
| 3770 | Sizzle( parts.shift(), context ); |
| 3771 | |
| 3772 | while ( parts.length ) { |
| 3773 | selector = parts.shift(); |
| 3774 | |
| 3775 | if ( Expr.relative[ selector ] ) { |
| 3776 | selector += parts.shift(); |
| 3777 | } |
| 3778 | |
| 3779 | set = posProcess( selector, set ); |
| 3780 | } |
| 3781 | } |
| 3782 |
no test coverage detected