Вход Регистрация
Файл: Main Website Files/assets/bower_components/jquery/src/traversing/findFilter.js
Строк: 112
<?php
define
([
    
"../core",
    
"../var/indexOf",
    
"./var/rneedsContext",
    
"../selector"
], function( jQuery, indexOf, rneedsContext ) {

var 
risSimple = /^.[^:#[.,]*$/;

// Implement the identical functionality for filter and not
function winnow( elements, qualifier, not ) {
    if ( 
jQuery.isFunction( qualifier ) ) {
        return 
jQuery.grep( elements, function( elem, i ) {
            
/* jshint -W018 */
            
return !!qualifier.call( elem, i, elem ) !== not;
        });

    }

    if ( 
qualifier.nodeType ) {
        return 
jQuery.grep( elements, function( elem ) {
            return ( 
elem === qualifier ) !== not;
        });

    }

    if ( 
typeof qualifier === "string" ) {
        if ( 
risSimple.test( qualifier ) ) {
            return 
jQuery.filter( qualifier, elements, not );
        }

        
qualifier = jQuery.filter( qualifier, elements );
    }

    return 
jQuery.grep( elements, function( elem ) {
        return ( 
indexOf.call( qualifier, elem ) >= 0 ) !== not;
    });
}

jQuery.filter = function( expr, elems, not ) {
    var 
elem = elems[ 0 ];

    if ( 
not ) {
        
expr = ":not(" + expr + ")";
    }

    return 
elems.length === 1 && elem.nodeType === 1 ?
        
jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [] :
        
jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) {
            return 
elem.nodeType === 1;
        }));
};

jQuery.fn.extend({
    
find: function( selector ) {
        var 
i,
            
len = this.length,
            
ret = [],
            
self = this;

        if ( 
typeof selector !== "string" ) {
            return 
this.pushStack( jQuery( selector ).filter(function() {
                for ( 
i = 0; i < len; i++ ) {
                    if ( 
jQuery.contains( self[ i ], this ) ) {
                        return 
true;
                    }
                }
            }) );
        }

        for ( 
i = 0; i < len; i++ ) {
            
jQuery.find( selector, self[ i ], ret );
        }

        
// Needed because $( selector, context ) becomes $( context ).find( selector )
        
ret = this.pushStack( len > 1 ? jQuery.unique( ret ) : ret );
        
ret.selector = this.selector ? this.selector + " " + selector : selector;
        return 
ret;
    },
    
filter: function( selector ) {
        return 
this.pushStack( winnow(this, selector || [], false) );
    },
    
not: function( selector ) {
        return 
this.pushStack( winnow(this, selector || [], true) );
    },
    
is: function( selector ) {
        return !!
winnow(
            
this,

            
// If this is a positional/relative selector, check membership in the returned set
            // so $("p:first").is("p:last") won't return true for a doc with two "p".
            
typeof selector === "string" && rneedsContext.test( selector ) ?
                
jQuery( selector ) :
                
selector || [],
            
false
        
).length;
    }
});

});
?>
Онлайн: 2
Реклама