git.asbjorn.biz
/
jquery.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merged in from Sizzle - a change to child filter selector logic.
[jquery.git]
/
src
/
selector.js
diff --git
a/src/selector.js
b/src/selector.js
index
e1e272b
..
085f0b3
100644
(file)
--- a/
src/selector.js
+++ b/
src/selector.js
@@
-182,6
+182,8
@@
Sizzle.filter = function(expr, set, inplace, not){
if ( !match ) {
anyFound = found = true;
if ( !match ) {
anyFound = found = true;
+ } else if ( match === true ) {
+ continue;
} else if ( match[0] === true ) {
goodArray = [];
var last = null, elem;
} else if ( match[0] === true ) {
goodArray = [];
var last = null, elem;
@@
-411,6
+413,8
@@
var Expr = Sizzle.selectors = {
}
return false;
}
}
return false;
}
+ } else if ( Expr.match.POS.test( match[0] ) ) {
+ return true;
}
return match;
}
return match;
@@
-509,9
+513,9
@@
var Expr = Sizzle.selectors = {
CHILD: function(elem, match){
var type = match[1], parent = elem.parentNode;
CHILD: function(elem, match){
var type = match[1], parent = elem.parentNode;
- var doneName = match[0];
+ var doneName = "child" + parent.childNodes.length;
- if ( parent && !parent[ doneName ] ) {
+ if ( parent && (!parent[ doneName ] || !elem.nodeIndex) ) {
var count = 1;
for ( var node = parent.firstChild; node; node = node.nextSibling ) {
var count = 1;
for ( var node = parent.firstChild; node; node = node.nextSibling ) {