define( [ "../core", "../var/documentElement", "../selector" // jQuery.contains ], function( jQuery, documentElement ) { "use strict"; var isAttached = function( elem ) { return jQuery.contains( elem.ownerDocument, elem ); }, composed = { composed: true }; // Check attachment across shadow DOM boundaries when possible (gh-3504) if ( documentElement.attachShadow ) { isAttached = function( elem ) { return jQuery.contains( elem.ownerDocument, elem ) || elem.getRootNode( composed ) === elem.ownerDocument; }; } return isAttached; } );