After discussing it with a number of users I've decided to revert the change to ...
authorJohn Resig <jeresig@gmail.com>
Wed, 21 Jan 2009 22:36:21 +0000 (22:36 +0000)
committerJohn Resig <jeresig@gmail.com>
Wed, 21 Jan 2009 22:36:21 +0000 (22:36 +0000)
src/selector.js
test/unit/selector.js

index 8af3a0d..65563a1 100644 (file)
@@ -564,7 +564,7 @@ var Expr = Sizzle.selectors = {
                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];
                        return result == null ?
-                               false :
+                               type === "!=" :
                                type === "=" ?
                                value === check :
                                type === "*=" ?
index 4e6feaf..5103d58 100644 (file)
@@ -205,7 +205,7 @@ test("child and adjacent", function() {
 });
 
 test("attributes", function() {
-       expect(34);
+       expect(35);
        t( "Attribute Exists", "a[title]", ["google"] );
        t( "Attribute Exists", "*[title]", ["google"] );
        t( "Attribute Exists", "[title]", ["google"] );
@@ -247,6 +247,7 @@ test("attributes", function() {
        t( "Attribute Begins With", "a[href ^= 'http://www']", ["google","yahoo"] );
        t( "Attribute Ends With", "a[href $= 'org/']", ["mark"] );
        t( "Attribute Contains", "a[href *= 'google']", ["google","groups"] );
+       t( "Attribute Is Not Equal", "#ap a[hreflang!='en']", ["google","groups","anchor1"] );
        
        t("Select options via :selected", "#select1 option:selected", ["option1a"] );
        t("Select options via :selected", "#select2 option:selected", ["option2d"] );