The isConnected
read-only property of the Node
interface returns a boolean indicating whether the node is connected (directly or indirectly) to the context object, for example the Document
object in the case of the normal DOM, or the ShadowRoot
in the case of a shadow DOM.
Syntax
var isItConnected = nodeObjectInstance.isConnected
Return value
A Boolean
that is true
if the node is connected to its relevant context object, and false
if not.
Examples
Standard DOM
A standard DOM example:
let test = document.createElement('p'); console.log(test.isConnected); // Returns false document.body.appendChild(test); console.log(test.isConnected); // Returns true
Shadow DOM
A shadow DOM example:
// Create a shadow root var shadow = this.attachShadow({mode: 'open'}); // Create some CSS to apply to the shadow dom var style = document.createElement('style'); console.log(style.isConnected); // returns false style.textContent = ` .wrapper { position: relative; } .info { font-size: 0.8rem; width: 200px; display: inline-block; border: 1px solid black; padding: 10px; background: white; border-radius: 10px; opacity: 0; transition: 0.6s all; positions: absolute; bottom: 20px; left: 10px; z-index: 3 } `; // Attach the created style element to the shadow dom shadow.appendChild(style); console.log(style.isConnected); // Returns true
Polyfill
Node.isConnected can be polyfilled with the following code for IE10 and EdgeHTML:
/* * Node.isConnected polyfill for IE and EdgeHTML * 2020-02-04 * * By Eli Grey, https://eligrey.com * Public domain. * NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK. */ if (!('isConnected' in Node.prototype)) { Object.defineProperty(Node.prototype, 'isConnected', { get() { return ( !this.ownerDocument || !( this.ownerDocument.compareDocumentPosition(this) & this.DOCUMENT_POSITION_DISCONNECTED ) ); }, }); }
Specifications
Specification | Status | Comment |
---|---|---|
DOM The definition of 'isConnected' in that specification. |
Living Standard | Initial definition. |
Browser compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
isConnected | Chrome Full support 51 | Edge Full support 79 | Firefox Full support 53 | IE No support No | Opera Full support 38 | Safari Full support 10.1 | WebView Android Full support 51 | Chrome Android Full support 51 | Firefox Android Full support 45 | Opera Android Full support 41 | Safari iOS Full support 10.3 | Samsung Internet Android Full support 6.0 |
Legend
- Full support
- Full support
- No support
- No support