fix :hidden selector that was accidentally reverted in previous commit, also fixed...
authorBrandon Aaron <brandon.aaron@gmail.com>
Mon, 4 May 2009 00:19:57 +0000 (00:19 +0000)
committerBrandon Aaron <brandon.aaron@gmail.com>
Mon, 4 May 2009 00:19:57 +0000 (00:19 +0000)
src/selector.js
test/unit/selector.js

index 32f48c4..b404064 100644 (file)
@@ -977,7 +977,7 @@ jQuery.expr = Sizzle.selectors;
 jQuery.expr[":"] = jQuery.expr.filters;
 
 Sizzle.selectors.filters.hidden = function(elem){
-       return elem.offsetWidth === 0 || elem.offsetHeight === 0;
+       return elem.offsetWidth === 0 && elem.offsetHeight === 0;
 };
 
 Sizzle.selectors.filters.visible = function(elem){
index 708204b..3e70481 100644 (file)
@@ -364,6 +364,7 @@ test("pseudo (:) selectors", function() {
        t( "Is Hidden", "#dl:hidden", ["dl"] );
        
        var $div = jQuery('#nothiddendivchild');
+       $div.css({ fontSize: 0, lineHeight: 0 });// IE also needs to set font-size and line-height to 0
        $div.width(0).height(0);
        t( "Is Hidden", '#nothiddendivchild:hidden', ['nothiddendivchild'] );
        t( "Is Not Hidden", '#nothiddendivchild:visible', [] );
@@ -376,7 +377,7 @@ test("pseudo (:) selectors", function() {
        $div.width(1).height(1);
        t( "Is Visible", '#nothiddendivchild:visible', ['nothiddendivchild'] );
        t( "Is Not Visible", '#nothiddendivchild:hidden', [] );
-       $div.width('').height('');
+       $div.width('').height('').css({ fontSize: '', lineHeight: '' });
 
        t( "Check position filtering", "div#nothiddendiv:eq(0)", ["nothiddendiv"] );
        t( "Check position filtering", "div#nothiddendiv:last", ["nothiddendiv"] );