update
This commit is contained in:
34
web/jquery/src/css/var/isHiddenWithinTree.js
vendored
Normal file
34
web/jquery/src/css/var/isHiddenWithinTree.js
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
define( [
|
||||
"../../core",
|
||||
"../../core/isAttached"
|
||||
|
||||
// css is assumed
|
||||
], function( jQuery, isAttached ) {
|
||||
"use strict";
|
||||
|
||||
// isHiddenWithinTree reports if an element has a non-"none" display style (inline and/or
|
||||
// through the CSS cascade), which is useful in deciding whether or not to make it visible.
|
||||
// It differs from the :hidden selector (jQuery.expr.pseudos.hidden) in two important ways:
|
||||
// * A hidden ancestor does not force an element to be classified as hidden.
|
||||
// * Being disconnected from the document does not force an element to be classified as hidden.
|
||||
// These differences improve the behavior of .toggle() et al. when applied to elements that are
|
||||
// detached or contained within hidden ancestors (gh-2404, gh-2863).
|
||||
return function( elem, el ) {
|
||||
|
||||
// isHiddenWithinTree might be called from jQuery#filter function;
|
||||
// in that case, element will be second argument
|
||||
elem = el || elem;
|
||||
|
||||
// Inline style trumps all
|
||||
return elem.style.display === "none" ||
|
||||
elem.style.display === "" &&
|
||||
|
||||
// Otherwise, check computed style
|
||||
// Support: Firefox <=43 - 45
|
||||
// Disconnected elements can have computed display: none, so first confirm that elem is
|
||||
// in the document.
|
||||
isAttached( elem ) &&
|
||||
|
||||
jQuery.css( elem, "display" ) === "none";
|
||||
};
|
||||
} );
|
||||
Reference in New Issue
Block a user