From: jeresig Date: Wed, 27 Oct 2010 18:35:26 +0000 (-0400) Subject: Calling .hide().show() on a stylesheet-hidden element wasn't bringing it back. Fixes... X-Git-Url: http://git.asbjorn.biz/?p=jquery.git;a=commitdiff_plain;h=6e7a4e73a2d821fd2a7b71e080b9284909af1596 Calling .hide().show() on a stylesheet-hidden element wasn't bringing it back. Fixes #7331. --- diff --git a/src/effects.js b/src/effects.js index b73aa72..d87ba8f 100644 --- a/src/effects.js +++ b/src/effects.js @@ -28,7 +28,7 @@ jQuery.fn.extend({ // Reset the inline display of this element to learn if it is // being hidden by cascaded rules or not if ( !jQuery.data(elem, "olddisplay") && display === "none" ) { - elem.style.display = ""; + display = elem.style.display = ""; } // Set elements which have been overridden with display: none diff --git a/test/unit/effects.js b/test/unit/effects.js index 0114b0f..8facb4f 100644 --- a/test/unit/effects.js +++ b/test/unit/effects.js @@ -6,10 +6,18 @@ test("sanity check", function() { }); test("show()", function() { - expect(26); + expect(27); var hiddendiv = jQuery("div.hidden"); + hiddendiv.hide().show(); + + equals( hiddendiv.css("display"), "block", "Make sure a pre-hidden div is visible." ); + + QUnit.reset(); + + hiddendiv = jQuery("div.hidden"); + equal(jQuery.css( hiddendiv[0], "display"), "none", "hiddendiv is display: none"); hiddendiv.css("display", "block");