From: Dave Methvin Date: Wed, 30 Jan 2013 01:57:26 +0000 (-0500) Subject: Fix #13349. No need to sort simple .find() cases. X-Git-Tag: 1.9.1~15 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=1bbe2b1ded24edf7bf7b18512aff4148591803da;p=jquery.git Fix #13349. No need to sort simple .find() cases. --- diff --git a/src/traversing.js b/src/traversing.js index 99c381010..8d8b9930f 100644 --- a/src/traversing.js +++ b/src/traversing.js @@ -12,12 +12,13 @@ var runtil = /Until$/, jQuery.fn.extend({ find: function( selector ) { - var i, ret, self; + var i, ret, self, + len = this.length; if ( typeof selector !== "string" ) { self = this; 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 ) ) { return true; } @@ -26,12 +27,12 @@ jQuery.fn.extend({ } ret = []; - for ( i = 0; i < this.length; i++ ) { + for ( i = 0; i < len; i++ ) { jQuery.find( selector, this[ i ], ret ); } // 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; return ret; },