jQuery.fn.extend({
find: function( selector ) {
- var self, matched, i,
- l = this.length;
+ var i,
+ ret = [],
+ self = this,
+ len = self.length;
if ( typeof selector !== "string" ) {
- self = this;
return this.pushStack( jQuery( selector ).filter(function() {
- for ( i = 0; i < l; i++ ) {
+ for ( i = 0; i < len; i++ ) {
if ( jQuery.contains( self[ i ], this ) ) {
return true;
}
}) );
}
- matched = [];
- for ( i = 0; i < l; i++ ) {
- jQuery.find( selector, this[ i ], matched );
+ for ( i = 0; i < len; i++ ) {
+ jQuery.find( selector, self[ i ], ret );
}
// Needed because $( selector, context ) becomes $( context ).find( selector )
- matched = this.pushStack( l > 1 ? jQuery.unique( matched ) : matched );
- matched.selector = ( this.selector ? this.selector + " " : "" ) + selector;
- return matched;
+ ret = this.pushStack( len > 1 ? jQuery.unique( ret ) : ret );
+ ret.selector = this.selector ? this.selector + " " + selector : selector;
+ return ret;
},
has: function( target ) {