mirror of
https://github.com/jquery/jquery.git
synced 2026-02-03 06:35:02 -05:00
Fix #13310. Get the right display value for disconnected nodes. Close gh-1156.
This commit is contained in:
17
src/css.js
17
src/css.js
@@ -54,7 +54,7 @@ function getStyles( elem ) {
|
||||
}
|
||||
|
||||
function showHide( elements, show ) {
|
||||
var elem,
|
||||
var display, elem, hidden,
|
||||
values = [],
|
||||
index = 0,
|
||||
length = elements.length;
|
||||
@@ -64,11 +64,13 @@ function showHide( elements, show ) {
|
||||
if ( !elem.style ) {
|
||||
continue;
|
||||
}
|
||||
|
||||
values[ index ] = jQuery._data( elem, "olddisplay" );
|
||||
display = elem.style.display;
|
||||
if ( show ) {
|
||||
// Reset the inline display of this element to learn if it is
|
||||
// being hidden by cascaded rules or not
|
||||
if ( !values[ index ] && elem.style.display === "none" ) {
|
||||
if ( !values[ index ] && display === "none" ) {
|
||||
elem.style.display = "";
|
||||
}
|
||||
|
||||
@@ -78,8 +80,15 @@ function showHide( elements, show ) {
|
||||
if ( elem.style.display === "" && isHidden( elem ) ) {
|
||||
values[ index ] = jQuery._data( elem, "olddisplay", css_defaultDisplay(elem.nodeName) );
|
||||
}
|
||||
} else if ( !values[ index ] && !isHidden( elem ) ) {
|
||||
jQuery._data( elem, "olddisplay", jQuery.css( elem, "display" ) );
|
||||
} else {
|
||||
|
||||
if ( !values[ index ] ) {
|
||||
hidden = isHidden( elem );
|
||||
|
||||
if ( display && display !== "none" || !hidden ) {
|
||||
jQuery._data( elem, "olddisplay", hidden ? display : jQuery.css( elem, "display" ) );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user