X-Git-Url: http://git.asbjorn.it/?a=blobdiff_plain;ds=sidebyside;f=src%2Fselector.js;h=7c0bf4082cbdc1cde73ce5f9e06c68a7f41cb1fb;hb=0ae78024c23dd3ef4bcea883338d975dcf843597;hp=d580c5ae5d0ade96abec0d8f4d9ce54eb6a3bfb4;hpb=f38648c7cd3a37f4070b77b2c92151f68aa66fef;p=jquery.git diff --git a/src/selector.js b/src/selector.js index d580c5a..7c0bf40 100644 --- a/src/selector.js +++ b/src/selector.js @@ -564,7 +564,16 @@ var Expr = Sizzle.selectors = { return match.test( elem.className ); }, ATTR: function(elem, match){ - var result = Expr.attrHandle[ match[1] ] ? Expr.attrHandle[ match[1] ]( elem ) : elem[ match[1] ] || elem.getAttribute( match[1] ), value = result + "", type = match[2], check = match[4]; + var name = match[1], + result = Expr.attrHandle[ name ] ? + Expr.attrHandle[ name ]( elem ) : + elem[ name ] != null ? + elem[ name ] : + elem.getAttribute( name ), + value = result + "", + type = match[2], + check = match[4]; + return result == null ? type === "!=" : type === "=" ? @@ -573,8 +582,8 @@ var Expr = Sizzle.selectors = { value.indexOf(check) >= 0 : type === "~=" ? (" " + value + " ").indexOf(check) >= 0 : - !match[4] ? - result : + !check ? + value && result !== false : type === "!=" ? value != check : type === "^=" ?