X-Git-Url: http://git.asbjorn.it/?a=blobdiff_plain;f=src%2Fselector.js;h=085f0b32edf7abd46089dae5cad3d09a2f3c551b;hb=944484c3fe001bcfea52fd85612042d7475597a1;hp=e1e272bcbcc961d2e748980f3023ccc763b95455;hpb=2e42c5b0445b7c871c67b0a3bb7a0dc42d1d2112;p=jquery.git diff --git a/src/selector.js b/src/selector.js index e1e272b..085f0b3 100644 --- a/src/selector.js +++ b/src/selector.js @@ -182,6 +182,8 @@ Sizzle.filter = function(expr, set, inplace, not){ if ( !match ) { anyFound = found = true; + } else if ( match === true ) { + continue; } else if ( match[0] === true ) { goodArray = []; var last = null, elem; @@ -411,6 +413,8 @@ var Expr = Sizzle.selectors = { } return false; } + } else if ( Expr.match.POS.test( match[0] ) ) { + return true; } return match; @@ -509,9 +513,9 @@ var Expr = Sizzle.selectors = { 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 ) {