For .show() with no arguments, only set display of elements in the second loop if they don't have style.display already set or if style.display isn't none. Fixes #7315.

This commit is contained in:
Karl Swedberg 2010-10-26 14:37:44 -07:00 committed by John Resig
parent 7066bb384b
commit 6ab402dced
2 changed files with 30 additions and 6 deletions

15
test/unit/effects.js vendored
View file

@ -6,7 +6,20 @@ test("sanity check", function() {
});
test("show()", function() {
expect(23);
expect(26);
var hiddendiv = jQuery("div.hidden");
equal(jQuery.css( hiddendiv[0], "display"), "none", "hiddendiv is display: none");
hiddendiv.css("display", "block");
equal(jQuery.css( hiddendiv[0], "display"), "block", "hiddendiv is display: block");
hiddendiv.show();
equal(jQuery.css( hiddendiv[0], "display"), "block", "hiddendiv is display: block");
hiddendiv.css("display","");
var pass = true, div = jQuery("#main div");
div.show().each(function(){
if ( this.style.display == "none" ) pass = false;