mirror of
https://github.com/jquery/jquery.git
synced 2024-11-23 02:54:22 +00:00
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
This commit is contained in:
parent
65d3dc6955
commit
299bc655c9
3
src/effects.js
vendored
3
src/effects.js
vendored
@ -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) );
|
||||
}
|
||||
}
|
||||
|
55
test/unit/effects.js
vendored
55
test/unit/effects.js
vendored
@ -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("<tt/>").appendTo("body"),
|
||||
dfn8099 = jQuery("<dfn/>", { 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("<div class='hidden'>");
|
||||
div.show().appendTo("#qunit-fixture");
|
||||
equal( div.css("display"), "block", "Make sure a detached, pre-hidden( through stylesheets ) div is visible." );
|
||||
|
||||
div = jQuery("<div style='display: none'>");
|
||||
div.show().appendTo("#qunit-fixture");
|
||||
equal( div.css("display"), "block", "Make sure a detached, pre-hidden( through inline style ) div is visible." );
|
||||
|
||||
span = jQuery("<span class='hidden'/>");
|
||||
span.show().appendTo("#qunit-fixture");
|
||||
equal( span.css("display"), "inline", "Make sure a detached, pre-hidden( through stylesheets ) span has default display." );
|
||||
|
||||
span = jQuery("<span style='display: inline'/>");
|
||||
span.show().appendTo("#qunit-fixture");
|
||||
equal( span.css("display"), "inline", "Make sure a detached, pre-hidden( through inline style ) span has default display." );
|
||||
|
||||
div = jQuery("<div><div class='hidden'></div></div>").children("div");
|
||||
div.show().appendTo("#qunit-fixture");
|
||||
equal( div.css("display"), "block", "Make sure a detached, pre-hidden( through stylesheets ) div inside another visible div is visible." );
|
||||
|
||||
div = jQuery("<div><div style='display: none'></div></div>").children("div");
|
||||
div.show().appendTo("#qunit-fixture");
|
||||
equal( div.css("display"), "block", "Make sure a detached, pre-hidden( through inline style ) div inside another visible div is visible." );
|
||||
|
||||
div = jQuery("div.hidden");
|
||||
div.detach().show();
|
||||
equal( div.css("display"), "block", "Make sure a detached( through detach() ), pre-hidden div is visible." );
|
||||
div.remove();
|
||||
|
||||
span = jQuery("<span>");
|
||||
span.appendTo("#qunit-fixture").detach().show().appendTo("#qunit-fixture" );
|
||||
equal( span.css("display"), "inline", "Make sure a detached( through detach() ), pre-hidden span has default display." );
|
||||
span.remove();
|
||||
|
||||
div = jQuery("<div>");
|
||||
div.show().appendTo("#qunit-fixture");
|
||||
ok( !!div.get( 0 ).style.display, "Make sure not hidden div has a inline style." );
|
||||
|
||||
div = jQuery( document.createElement("div") );
|
||||
div.show().appendTo("#qunit-fixture");
|
||||
equal( div.css("display"), "block", "Make sure a pre-created element has default display." );
|
||||
|
||||
div = jQuery("<div style='display: inline'/>");
|
||||
div.show().appendTo("#qunit-fixture");
|
||||
equal( div.css("display"), "inline", "Make sure that element has same display when it was created." );
|
||||
});
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user