Switch back to using Sizzle.matchesSelector.
This commit is contained in:
parent
eb67d99416
commit
ba149e78a9
|
@ -14,8 +14,8 @@
|
||||||
setTimeout(function(){
|
setTimeout(function(){
|
||||||
name = "filter '" + item + "'";
|
name = "filter '" + item + "'";
|
||||||
jQuery("#results").append("<li>" + name + "<ul>" +
|
jQuery("#results").append("<li>" + name + "<ul>" +
|
||||||
"<li>new: " + benchmarkString("$('div').filter('" + item + "')", 1000, name) + "</li>" +
|
"<li>new: " + benchmarkString("$('div').filter('" + item + "')", 100, name) + "</li>" +
|
||||||
"<li>old: " + benchmarkString("old('div').filter('" + item + "')", 1000, name) + "</li>" +
|
"<li>old: " + benchmarkString("old('div').filter('" + item + "')", 100, name) + "</li>" +
|
||||||
"</ul></li>");
|
"</ul></li>");
|
||||||
jQuery("#results").append("<li>single " + name + "<ul>" +
|
jQuery("#results").append("<li>single " + name + "<ul>" +
|
||||||
"<li>new: " + benchmarkString("$('#nonexistant').filter('" + item + "')", 1000, name) + "</li>" +
|
"<li>new: " + benchmarkString("$('#nonexistant').filter('" + item + "')", 1000, name) + "</li>" +
|
||||||
|
|
|
@ -6,9 +6,8 @@ var runtil = /Until$/,
|
||||||
rmultiselector = /,/,
|
rmultiselector = /,/,
|
||||||
rchild = /^\s*>/,
|
rchild = /^\s*>/,
|
||||||
isSimple = /^.[^:#\[\.,]*$/,
|
isSimple = /^.[^:#\[\.,]*$/,
|
||||||
slice = Array.prototype.slice;
|
slice = Array.prototype.slice,
|
||||||
|
POS = jQuery.expr.match.POS;
|
||||||
var POS = jQuery.expr.match.POS;
|
|
||||||
|
|
||||||
jQuery.fn.extend({
|
jQuery.fn.extend({
|
||||||
find: function( selector ) {
|
find: function( selector ) {
|
||||||
|
@ -100,13 +99,13 @@ jQuery.fn.extend({
|
||||||
var pos = POS.test( selectors ) ?
|
var pos = POS.test( selectors ) ?
|
||||||
jQuery( selectors, context || this.context ) : null;
|
jQuery( selectors, context || this.context ) : null;
|
||||||
|
|
||||||
var ret = [];
|
ret = [];
|
||||||
|
|
||||||
for ( var i = 0, j = this.length; i < j; i++ ) {
|
for ( var i = 0, j = this.length; i < j; i++ ) {
|
||||||
var cur = this[i];
|
var cur = this[i];
|
||||||
|
|
||||||
while ( cur ) {
|
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 );
|
ret.push( cur );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -229,7 +228,9 @@ jQuery.extend({
|
||||||
expr = ":not(" + expr + ")";
|
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 ) {
|
dir: function( elem, dir, until ) {
|
||||||
|
|
Loading…
Reference in a new issue