Interface ShadowRoot
activeElement: Element | null;
adoptedStyleSheets: CSSStyleSheet[];
ATTRIBUTE_NODE: 2;
baseURI: string;
CDATA_SECTION_NODE: 4;
childElementCount: number;
childNodes: NodeListOf<ChildNode>;
children: HTMLCollection;
clonable: boolean;
COMMENT_NODE: 8;
delegatesFocus: boolean;
DOCUMENT_FRAGMENT_NODE: 11;
DOCUMENT_NODE: 9;
DOCUMENT_POSITION_CONTAINED_BY: 16;
DOCUMENT_POSITION_CONTAINS: 8;
DOCUMENT_POSITION_DISCONNECTED: 1;
DOCUMENT_POSITION_FOLLOWING: 4;
DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: 32;
DOCUMENT_POSITION_PRECEDING: 2;
DOCUMENT_TYPE_NODE: 10;
ELEMENT_NODE: 1;
ENTITY_NODE: 6;
ENTITY_REFERENCE_NODE: 5;
firstChild: ChildNode | null;
firstElementChild: Element | null;
fullscreenElement: Element | null;
host: Element;
innerHTML: string;
isConnected: boolean;
lastChild: ChildNode | null;
lastElementChild: Element | null;
mode: ShadowRootMode;
nextSibling: ChildNode | null;
nodeName: string;
nodeType: number;
nodeValue: string | null;
NOTATION_NODE: 12;
onslotchange: ((this: ShadowRoot, ev: Event) => any) | null;
ownerDocument: Document;
parentElement: HTMLElement | null;
parentNode: ParentNode | null;
pictureInPictureElement: Element | null;
pointerLockElement: Element | null;
previousSibling: ChildNode | null;
PROCESSING_INSTRUCTION_NODE: 7;
serializable: boolean;
slotAssignment: SlotAssignmentMode;
styleSheets: StyleSheetList;
TEXT_NODE: 3;
get textContent(): string;
set textContent(value: string | null): void;
addEventListener<K extends "slotchange">(
type: K,
listener: (this: ShadowRoot, ev: ShadowRootEventMap[K]) => any,
options?: boolean | AddEventListenerOptions,
): void;
addEventListener(
type: string,
listener: EventListenerOrEventListenerObject,
options?: boolean | AddEventListenerOptions,
): void;
append(...nodes: (string | Node)[]): void;
appendChild<T extends Node>(node: T): T;
cloneNode(subtree?: boolean): Node;
compareDocumentPosition(other: Node): number;
contains(other: Node | null): boolean;
dispatchEvent(event: Event): boolean;
elementFromPoint(x: number, y: number): Element | null;
elementsFromPoint(x: number, y: number): Element[];
getAnimations(): Animation[];
getElementById(elementId: string): HTMLElement | null;
getHTML(options?: GetHTMLOptions): string;
getRootNode(options?: GetRootNodeOptions): Node;
hasChildNodes(): boolean;
insertBefore<T extends Node>(node: T, child: Node | null): T;
isDefaultNamespace(namespace: string | null): boolean;
isEqualNode(otherNode: Node | null): boolean;
isSameNode(otherNode: Node | null): boolean;
lookupNamespaceURI(prefix: string | null): string | null;
lookupPrefix(namespace: string | null): string | null;
normalize(): void;
prepend(...nodes: (string | Node)[]): void;
querySelector<K extends keyof HTMLElementTagNameMap>(
selectors: K,
): HTMLElementTagNameMap[K] | null;
querySelector<K extends keyof SVGElementTagNameMap>(
selectors: K,
): SVGElementTagNameMap[K] | null;
querySelector<K extends keyof MathMLElementTagNameMap>(
selectors: K,
): MathMLElementTagNameMap[K] | null;
querySelector<K extends keyof HTMLElementDeprecatedTagNameMap>(
selectors: K,
): HTMLElementDeprecatedTagNameMap[K] | null;
querySelector<E extends Element = Element>(selectors: string): E | null;
querySelectorAll<K extends keyof HTMLElementTagNameMap>(
selectors: K,
): NodeListOf<HTMLElementTagNameMap[K]>;
querySelectorAll<K extends keyof SVGElementTagNameMap>(
selectors: K,
): NodeListOf<SVGElementTagNameMap[K]>;
querySelectorAll<K extends keyof MathMLElementTagNameMap>(
selectors: K,
): NodeListOf<MathMLElementTagNameMap[K]>;
querySelectorAll<K extends keyof HTMLElementDeprecatedTagNameMap>(
selectors: K,
): NodeListOf<HTMLElementDeprecatedTagNameMap[K]>;
querySelectorAll<E extends Element = Element>(
selectors: string,
): NodeListOf<E>;
removeChild<T extends Node>(child: T): T;
removeEventListener<K extends "slotchange">(
type: K,
listener: (this: ShadowRoot, ev: ShadowRootEventMap[K]) => any,
options?: boolean | EventListenerOptions,
): void;
removeEventListener(
type: string,
listener: EventListenerOrEventListenerObject,
options?: boolean | EventListenerOptions,
): void;
replaceChild<T extends Node>(node: Node, child: T): T;
replaceChildren(...nodes: (string | Node)[]): void;
setHTMLUnsafe(html: string): void;
}
Hierarchy
- DocumentFragment
- DocumentOrShadowRoot
- ShadowRoot (View Summary)
Index
Properties
Accessors
Methods
Properties
ReadonlyactiveElement
Returns the deepest element in the document through which or to which key events are being routed. This is, roughly speaking, the focused element in the document.
For the purposes of this API, when a child browsing context is focused, its container is focused in the parent browsing context. For example, if the user moves the focus to a text control in an iframe, the iframe is the element returned by the activeElement API in the iframe's node document.
Similarly, when the focused element is in a different node tree than documentOrShadowRoot, the element returned will be the host that's located in the same node tree as documentOrShadowRoot if documentOrShadowRoot is a shadow-including inclusive ancestor of the focused element, and null if not.
adoptedStyleSheets
ReadonlyATTRIBUTE_NODE
ReadonlybaseURI
The read-only baseURI property of the Node interface returns the absolute base URL of the document containing the node.
ReadonlyCDATA_SECTION_NODE
node is a CDATASection node.
ReadonlychildElementCount
ReadonlychildNodes
The read-only childNodes property of the Node interface returns a live the first child node is assigned index 0.
Readonlychildren
Returns the child elements.
Readonlyclonable
The clonable read-only property of the ShadowRoot interface returns true if the shadow root is clonable, and false otherwise.
ReadonlyCOMMENT_NODE
node is a Comment node.
ReadonlydelegatesFocus
The delegatesFocus read-only property of the ShadowRoot interface returns true if the shadow root delegates focus, and false otherwise.
ReadonlyDOCUMENT_FRAGMENT_NODE
node is a DocumentFragment node.
ReadonlyDOCUMENT_NODE
node is a document.
ReadonlyDOCUMENT_POSITION_CONTAINED_BY
Set when other is a descendant of node.
ReadonlyDOCUMENT_POSITION_CONTAINS
Set when other is an ancestor of node.
ReadonlyDOCUMENT_POSITION_DISCONNECTED
Set when node and other are not in the same tree.
ReadonlyDOCUMENT_POSITION_FOLLOWING
Set when other is following node.
ReadonlyDOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC
ReadonlyDOCUMENT_POSITION_PRECEDING
Set when other is preceding node.
ReadonlyDOCUMENT_TYPE_NODE
node is a doctype.
ReadonlyELEMENT_NODE
node is an element.
ReadonlyENTITY_NODE
ReadonlyENTITY_REFERENCE_NODE
ReadonlyfirstChild
The read-only firstChild property of the Node interface returns the node's first child in the tree, or null if the node has no children.
ReadonlyfirstElementChild
Returns the first child that is an element, and null otherwise.
ReadonlyfullscreenElement
Returns document's fullscreen element.
Readonlyhost
The host read-only property of the ShadowRoot returns a reference to the DOM element the ShadowRoot is attached to.
innerHTML
The innerHTML property of the ShadowRoot interface sets gets or sets the HTML markup to the DOM tree inside the ShadowRoot.
ReadonlyisConnected
The read-only isConnected property of the Node interface returns a boolean indicating whether the node is connected (directly or indirectly) to a Document object.
ReadonlylastChild
The read-only lastChild property of the Node interface returns the last child of the node, or null if there are no child nodes.
ReadonlylastElementChild
Returns the last child that is an element, and null otherwise.
Readonlymode
The mode read-only property of the ShadowRoot specifies its mode — either open or closed.
ReadonlynextSibling
The read-only nextSibling property of the Node interface returns the node immediately following the specified one in their parent's Node.childNodes, or returns null if the specified node is the last child in the parent element.
ReadonlynodeName
The read-only nodeName property of Node returns the name of the current node as a string.
ReadonlynodeType
The read-only nodeType property of a Node interface is an integer that identifies what the node is.
nodeValue
The nodeValue property of the Node interface returns or sets the value of the current node.
ReadonlyNOTATION_NODE
onslotchange
ReadonlyownerDocument
The read-only ownerDocument property of the Node interface returns the top-level document object of the node.
ReadonlyparentElement
The read-only parentElement property of Node interface returns the DOM node's parent Element, or null if the node either has no parent, or its parent isn't a DOM Element.
ReadonlyparentNode
The read-only parentNode property of the Node interface returns the parent of the specified node in the DOM tree.
ReadonlypictureInPictureElement
ReadonlypointerLockElement
ReadonlypreviousSibling
The read-only previousSibling property of the Node interface returns the node immediately preceding the specified one in its parent's or null if the specified node is the first in that list.
ReadonlyPROCESSING_INSTRUCTION_NODE
node is a ProcessingInstruction node.
Readonlyserializable
The serializable read-only property of the ShadowRoot interface returns true if the shadow root is serializable.
ReadonlyslotAssignment
The read-only slotAssignment property of the ShadowRoot interface returns the slot assignment mode for the shadow DOM tree.
ReadonlystyleSheets
ReadonlyTEXT_NODE
node is a Text node.
Accessors
textContent
- get textContent(): string
Returns string
- set textContent(value: string | null): void
The
textContentproperty of the Node interface represents the text content of the node and its descendants.Parameters
- value: string | null
Returns void
Methods
addEventListener
- addEventListener<K extends "slotchange">(
type: K,
listener: (this: ShadowRoot, ev: ShadowRootEventMap[K]) => any,
options?: boolean | AddEventListenerOptions,
): voidThe
addEventListener()method of the EventTarget interface sets up a function that will be called whenever the specified event is delivered to the target.Type Parameters
- K extends "slotchange"
Parameters
- type: K
- listener: (this: ShadowRoot, ev: ShadowRootEventMap[K]) => any
Optionaloptions: boolean | AddEventListenerOptions
Returns void
- addEventListener(
type: string,
listener: EventListenerOrEventListenerObject,
options?: boolean | AddEventListenerOptions,
): voidThe
addEventListener()method of the EventTarget interface sets up a function that will be called whenever the specified event is delivered to the target.Parameters
- type: string
- listener: EventListenerOrEventListenerObject
Optionaloptions: boolean | AddEventListenerOptions
Returns void
append
Inserts nodes after the last child of node, while replacing strings in nodes with equivalent Text nodes.
Throws a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.
Parameters
- ...nodes: (string | Node)[]
Returns void
appendChild
cloneNode
The
cloneNode()method of the Node interface returns a duplicate of the node on which this method was called.Parameters
Optionalsubtree: boolean
Returns Node
compareDocumentPosition
The
compareDocumentPosition()method of the Node interface reports the position of its argument node relative to the node on which it is called.Parameters
- other: Node
Returns number
contains
The
contains()method of the Node interface returns a boolean value indicating whether a node is a descendant of a given node, that is the node itself, one of its direct children (Node.childNodes), one of the children's direct children, and so on.Parameters
- other: Node | null
Returns boolean
dispatchEvent
The
dispatchEvent()method of the EventTarget sends an Event to the object, (synchronously) invoking the affected event listeners in the appropriate order.Parameters
- event: Event
Returns boolean
elementFromPoint
Parameters
- x: number
- y: number
Returns Element | null
elementsFromPoint
Parameters
- x: number
- y: number
Returns Element[]
getAnimations
Returns Animation[]
getElementById
Returns the first element within node's descendants whose ID is elementId.
Parameters
- elementId: string
Returns HTMLElement | null
getHTML
The
getHTML()method of the ShadowRoot interface is used to serialize a shadow root's DOM to an HTML string.Parameters
Optionaloptions: GetHTMLOptions
Returns string
getRootNode
The
getRootNode()method of the Node interface returns the context object's root, which optionally includes the shadow root if it is available.Parameters
Optionaloptions: GetRootNodeOptions
Returns Node
hasChildNodes
The
hasChildNodes()method of the Node interface returns a boolean value indicating whether the given Node has child nodes or not.Returns boolean
insertBefore
isDefaultNamespace
The
isDefaultNamespace()method of the Node interface accepts a namespace URI as an argument.Parameters
- namespace: string | null
Returns boolean
isEqualNode
The
isEqualNode()method of the Node interface tests whether two nodes are equal.Parameters
- otherNode: Node | null
Returns boolean
isSameNode
The
isSameNode()method of the Node interface is a legacy alias the for the===strict equality operator.Parameters
- otherNode: Node | null
Returns boolean
lookupNamespaceURI
The
lookupNamespaceURI()method of the Node interface takes a prefix as parameter and returns the namespace URI associated with it on the given node if found (andnullif not).Parameters
- prefix: string | null
Returns string | null
lookupPrefix
The
lookupPrefix()method of the Node interface returns a string containing the prefix for a given namespace URI, if present, andnullif not.Parameters
- namespace: string | null
Returns string | null
normalize
The
normalize()method of the Node interface puts the specified node and all of its sub-tree into a normalized form.Returns void
prepend
Inserts nodes before the first child of node, while replacing strings in nodes with equivalent Text nodes.
Throws a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.
Parameters
- ...nodes: (string | Node)[]
Returns void
querySelector
- querySelector<K extends keyof HTMLElementTagNameMap>(
selectors: K,
): HTMLElementTagNameMap[K] | nullReturns the first element that is a descendant of node that matches selectors.
Type Parameters
- K extends keyof HTMLElementTagNameMap
Parameters
- selectors: K
Returns HTMLElementTagNameMap[K] | null
Type Parameters
- K extends keyof SVGElementTagNameMap
Parameters
- selectors: K
Returns SVGElementTagNameMap[K] | null
- querySelector<K extends keyof MathMLElementTagNameMap>(
selectors: K,
): MathMLElementTagNameMap[K] | nullType Parameters
- K extends keyof MathMLElementTagNameMap
Parameters
- selectors: K
Returns MathMLElementTagNameMap[K] | null
- querySelector<K extends keyof HTMLElementDeprecatedTagNameMap>(
selectors: K,
): HTMLElementDeprecatedTagNameMap[K] | nullType Parameters
- K extends keyof HTMLElementDeprecatedTagNameMap
Parameters
- selectors: K
Returns HTMLElementDeprecatedTagNameMap[K] | null
querySelectorAll
- querySelectorAll<K extends keyof HTMLElementTagNameMap>(
selectors: K,
): NodeListOf<HTMLElementTagNameMap[K]>Returns all element descendants of node that match selectors.
Type Parameters
- K extends keyof HTMLElementTagNameMap
Parameters
- selectors: K
Returns NodeListOf<HTMLElementTagNameMap[K]>
- querySelectorAll<K extends keyof SVGElementTagNameMap>(
selectors: K,
): NodeListOf<SVGElementTagNameMap[K]>Type Parameters
- K extends keyof SVGElementTagNameMap
Parameters
- selectors: K
Returns NodeListOf<SVGElementTagNameMap[K]>
- querySelectorAll<K extends keyof MathMLElementTagNameMap>(
selectors: K,
): NodeListOf<MathMLElementTagNameMap[K]>Type Parameters
- K extends keyof MathMLElementTagNameMap
Parameters
- selectors: K
Returns NodeListOf<MathMLElementTagNameMap[K]>
- querySelectorAll<K extends keyof HTMLElementDeprecatedTagNameMap>(
selectors: K,
): NodeListOf<HTMLElementDeprecatedTagNameMap[K]>Type Parameters
- K extends keyof HTMLElementDeprecatedTagNameMap
Parameters
- selectors: K
Returns NodeListOf<HTMLElementDeprecatedTagNameMap[K]>
removeChild
removeEventListener
- removeEventListener<K extends "slotchange">(
type: K,
listener: (this: ShadowRoot, ev: ShadowRootEventMap[K]) => any,
options?: boolean | EventListenerOptions,
): voidThe
removeEventListener()method of the EventTarget interface removes an event listener previously registered with EventTarget.addEventListener() from the target.Type Parameters
- K extends "slotchange"
Parameters
- type: K
- listener: (this: ShadowRoot, ev: ShadowRootEventMap[K]) => any
Optionaloptions: boolean | EventListenerOptions
Returns void
- removeEventListener(
type: string,
listener: EventListenerOrEventListenerObject,
options?: boolean | EventListenerOptions,
): voidThe
removeEventListener()method of the EventTarget interface removes an event listener previously registered with EventTarget.addEventListener() from the target.Parameters
- type: string
- listener: EventListenerOrEventListenerObject
Optionaloptions: boolean | EventListenerOptions
Returns void
replaceChild
replaceChildren
Replace all children of node with nodes, while replacing strings in nodes with equivalent Text nodes.
Throws a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.
Parameters
- ...nodes: (string | Node)[]
Returns void
setHTMLUnsafe
The
setHTMLUnsafe()method of the ShadowRoot interface can be used to parse a string of HTML into a DocumentFragment, optionally filtering out unwanted elements and attributes, and then use it to replace the existing tree in the Shadow DOM.Parameters
- html: string
Returns void
The
ShadowRootinterface of the Shadow DOM API is the root node of a DOM subtree that is rendered separately from a document's main DOM tree.MDN Reference