From 299bc655c90cc89652417675f976ae1bfefc4d8b Mon Sep 17 00:00:00 2001 From: Rick Waldron Date: Mon, 21 Nov 2011 13:25:46 -0500 Subject: [PATCH] Landing pull request 581. Updates original patch by Orkel. Fixes #10006. More Details: - https://github.com/jquery/jquery/pull/581 - http://bugs.jquery.com/ticket/10006 --- src/effects.js | 3 ++- test/unit/effects.js | 55 +++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 56 insertions(+), 2 deletions(-) diff --git a/src/effects.js b/src/effects.js index 5c6a20bbb5..2dad23ebad 100644 --- a/src/effects.js +++ b/src/effects.js @@ -38,7 +38,8 @@ 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 === "" && jQuery.css(elem, "display") === "none") || + !jQuery.contains( elem.ownerDocument.documentElement, elem ) ) { jQuery._data( elem, "olddisplay", defaultDisplay(elem.nodeName) ); } } diff --git a/test/unit/effects.js b/test/unit/effects.js index 82067cb8b4..02ddd973d3 100644 --- a/test/unit/effects.js +++ b/test/unit/effects.js @@ -167,7 +167,7 @@ test("Persist correct display value", function() { }); }); -test("show() resolves correct default display #8099", function() { +test("show() resolves correct default display (#8099)", function() { expect(7); var tt8099 = jQuery("").appendTo("body"), dfn8099 = jQuery("", { html: "foo"}).appendTo("body"); @@ -185,7 +185,60 @@ test("show() resolves correct default display #8099", function() { tt8099.remove(); dfn8099.remove(); +}); + +test( "show() resolves correct default display, detached nodes (#10006)", function(){ + // Tests originally contributed by Orkel in + // https://github.com/jquery/jquery/pull/458 + expect( 11 ); + + var div, span; + + div = jQuery("