This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.
The host read-only property of the ShadowRoot returns a reference to the DOM element the ShadowRoot is attached to.
A DOM Element.
const customElem = document.querySelector("my-shadow-dom-element");
const shadow = customElem.shadowRoot;
// …
// return the original host element some time later
const hostElem = shadow.host;
| Specification |
|---|
| DOM> # dom-shadowroot-host> |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
host |
53 | 79 | 63 | 40 | 10 | 53 | 63 | 41 | 10 | 6.0 | 53 | 10 |
part and exportparts HTML attributes<template> and <slot> HTML elements:host, :host(), and :host-context() CSS pseudo-classes::part and ::slotted CSS pseudo-elements
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/ShadowRoot/host