git.asbjorn.biz
/
jquery.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Switch back to using Sizzle.matchesSelector.
[jquery.git]
/
src
/
traversing.js
diff --git
a/src/traversing.js
b/src/traversing.js
index
1633e2e
..
c473c75
100644
(file)
--- a/
src/traversing.js
+++ b/
src/traversing.js
@@
-6,9
+6,8
@@
var runtil = /Until$/,
rmultiselector = /,/,
rchild = /^\s*>/,
isSimple = /^.[^:#\[\.,]*$/,
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 ) {
jQuery.fn.extend({
find: function( selector ) {
@@
-100,23
+99,24
@@
jQuery.fn.extend({
var pos = POS.test( selectors ) ?
jQuery( selectors, context || this.context ) : null;
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];
+ 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]).length ) {
+ while ( cur ) {
+ if ( pos ? pos.index(cur) > -1 : jQuery.find.matchesSelector(cur, selectors) ) {
ret.push( cur );
ret.push( cur );
- break;
+ break;
+
} else {
} else {
- cur = cur.parentNode;
- if ( !cur.ownerDocument || cur === context ) {
- break;
- }
- }
- }
- }
+ cur = cur.parentNode;
+ if ( !cur.ownerDocument || cur === context ) {
+ break;
+ }
+ }
+ }
+ }
ret = ret.length > 1 ? jQuery.unique(ret) : ret;
ret = ret.length > 1 ? jQuery.unique(ret) : ret;
@@
-228,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 ) {