|  | 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"; | 
|  | }; | 
|  | } ); |