Fix #13349. No need to sort simple .find() cases.

This commit is contained in:
Dave Methvin 2013-01-29 20:57:26 -05:00
parent c4dd702eda
commit 1bbe2b1ded

View File

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