X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=src%2Fselector.js;h=1badc693299a7a58878f5466fdbf4a1a756d2f0b;hb=be9302b710416715b9d278f589be99fa6f9e7cb8;hp=c35fbb1eb9ae99c14cfc02cd06f670fca2f75c42;hpb=ffbedf0262b3eea906f39c0115b818d7456a3994;p=jquery.git diff --git a/src/selector.js b/src/selector.js index c35fbb1..1badc69 100644 --- a/src/selector.js +++ b/src/selector.js @@ -140,7 +140,8 @@ jQuery.extend({ if ( (m = re.exec(t)) != null ) { r = []; - nodeName = m[2].toUpperCase(), merge = {}; + var merge = {}; + nodeName = m[2].toUpperCase(); m = m[1]; for ( var j = 0, rl = ret.length; j < rl; j++ ) { @@ -320,7 +321,10 @@ jQuery.extend({ // :not() is a special case that can be optimized by // keeping it out of the expression list if ( m[1] == ":" && m[2] == "not" ) - r = jQuery.filter(m[3], r, true).r; + // optimize if only one selector found (most common case) + r = isSimple.test( m[3] ) ? + jQuery.filter(m[3], r, true).r : + jQuery( r ).not( m[3] ); // We can get a big speed boost by filtering by class here else if ( m[1] == "." )