From: jeresig <jeresig@gmail.com>
Date: Sun, 10 Oct 2010 19:36:02 +0000 (-0400)
Subject: Switch back to using Sizzle.matchesSelector.
X-Git-Url: http://git.asbjorn.biz/?a=commitdiff_plain;h=ba149e78a93afa9eab544c7defe3ccf0d412345a;p=jquery.git

Switch back to using Sizzle.matchesSelector.
---

diff --git a/speed/filter.html b/speed/filter.html
index f24ed7d..43ee94e 100644
--- a/speed/filter.html
+++ b/speed/filter.html
@@ -14,8 +14,8 @@
 	setTimeout(function(){
         	name = "filter '" + item + "'";
 		jQuery("#results").append("<li>" + name + "<ul>" +
-        		"<li>new: " + benchmarkString("$('div').filter('" + item + "')", 1000, name) + "</li>" +
-        		"<li>old: " + benchmarkString("old('div').filter('" + item + "')", 1000, name) + "</li>" +
+        		"<li>new: " + benchmarkString("$('div').filter('" + item + "')", 100, name) + "</li>" +
+        		"<li>old: " + benchmarkString("old('div').filter('" + item + "')", 100, name) + "</li>" +
 			"</ul></li>");
 		jQuery("#results").append("<li>single " + name + "<ul>" +
         		"<li>new: " + benchmarkString("$('#nonexistant').filter('" + item + "')", 1000, name) + "</li>" +
diff --git a/src/traversing.js b/src/traversing.js
index df43178..c473c75 100644
--- a/src/traversing.js
+++ b/src/traversing.js
@@ -6,9 +6,8 @@ var runtil = /Until$/,
 	rmultiselector = /,/,
 	rchild = /^\s*>/,
 	isSimple = /^.[^:#\[\.,]*$/,
-	slice = Array.prototype.slice;
-
-var POS = jQuery.expr.match.POS;
+	slice = Array.prototype.slice,
+	POS = jQuery.expr.match.POS;
 
 jQuery.fn.extend({
 	find: function( selector ) {
@@ -100,13 +99,13 @@ jQuery.fn.extend({
 		var pos = POS.test( selectors ) ? 
 			jQuery( selectors, context || this.context ) : null;
 
-		var ret = [];
+		ret = [];
 
 		for ( var i = 0, j = this.length; i < j; i++ ) {
 			var cur = this[i];
 
 			while ( cur ) {
-				if ( pos ? pos.index(cur) > -1 : jQuery.find.matches(selectors, cur) ) {
+				if ( pos ? pos.index(cur) > -1 : jQuery.find.matchesSelector(cur, selectors) ) {
 					ret.push( cur );
 					break;
 
@@ -229,7 +228,9 @@ jQuery.extend({
 			expr = ":not(" + expr + ")";
 		}
 
-		return jQuery.find.matches(expr, elems);
+		return elems.length === 1 ?
+			jQuery.find.matchesSelector(elems[0], expr) ? [ elems[0] ] : [] :
+			jQuery.find.matches(expr, elems);
 	},
 	
 	dir: function( elem, dir, until ) {