aboutsummaryrefslogtreecommitdiffstats
path: root/lib/jquery/src/css/var/isHiddenWithinTree.js
diff options
context:
space:
mode:
authorJesús Eduardo <heckyel@hyperbola.info>2017-08-06 20:43:24 -0500
committerJesús Eduardo <heckyel@hyperbola.info>2017-08-06 20:43:24 -0500
commitf7045b862a5b7c3de8ee2ea3da67616b38a667cc (patch)
tree504f420546df4934495bbd6f3d9761650b3783bd /lib/jquery/src/css/var/isHiddenWithinTree.js
downloadytlibre-f7045b862a5b7c3de8ee2ea3da67616b38a667cc.tar.lz
ytlibre-f7045b862a5b7c3de8ee2ea3da67616b38a667cc.tar.xz
ytlibre-f7045b862a5b7c3de8ee2ea3da67616b38a667cc.zip
first commit
Diffstat (limited to 'lib/jquery/src/css/var/isHiddenWithinTree.js')
-rw-r--r--lib/jquery/src/css/var/isHiddenWithinTree.js34
1 files changed, 34 insertions, 0 deletions
diff --git a/lib/jquery/src/css/var/isHiddenWithinTree.js b/lib/jquery/src/css/var/isHiddenWithinTree.js
new file mode 100644
index 0000000..3cfb93e
--- /dev/null
+++ b/lib/jquery/src/css/var/isHiddenWithinTree.js
@@ -0,0 +1,34 @@
+define( [
+ "../../core",
+ "../../selector"
+
+ // css is assumed
+], function( jQuery ) {
+ "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.
+ jQuery.contains( elem.ownerDocument, elem ) &&
+
+ jQuery.css( elem, "display" ) === "none";
+ };
+} );