diff --git a/src/effects.js b/src/effects.js index e14235bc4..67ac8bb41 100644 --- a/src/effects.js +++ b/src/effects.js @@ -38,7 +38,7 @@ jQuery.fn.extend({ // Set elements which have been overridden with display: none // in a stylesheet to whatever the default browser style is // for such an element - if ( display === "" && jQuery.css( elem, "display" ) === "none" ) { + if ( display === "none" || ( display === "" && jQuery.css( elem, "display" ) === "none" ) ) { jQuery._data(elem, "olddisplay", defaultDisplay(elem.nodeName)); } } diff --git a/test/unit/effects.js b/test/unit/effects.js index 24f1b53f9..2492ea08c 100644 --- a/test/unit/effects.js +++ b/test/unit/effects.js @@ -188,6 +188,21 @@ test("show() resolves correct default display #8099", function() { }); +test("defaultDisplay() correctly determines tr, td display #10416", function() { + + expect( 1 ); + var tr = "", + td = "new"; + + jQuery( tr ).append( td ).appendTo( "#table" ); + jQuery( tr ).hide().append( td ).appendTo( "#table" ).show(); + + equal( + jQuery( "#table" ).find( "tr" ).eq( 1 ).css( "display" ), + jQuery( "#table" ).find( "tr" ).eq( 0 ).css( "display" ), + "defaultDisplay() returns correct tr display values" + ); +}); test("animate(Hash, Object, Function)", function() { expect(1);