Blame | Last modification | View Log | RSS feed
define(["../core","../var/indexOf","./var/rneedsContext","../selector"], function( jQuery, indexOf, rneedsContext ) {var risSimple = /^.[^:#\[\.,]*$/;// Implement the identical functionality for filter and notfunction 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;}});});