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 |
DOMThe 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.
Update compatibility data on GitHub
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
Node.isConnected by Mozilla Contributors is licensed under CC-BY-SA 2.5.