Chartbreaker
    Preparing search index...

    Interface ShadowRoot

    The ShadowRoot interface 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

    interface ShadowRoot {
        activeElement: null | Element;
        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: null | ChildNode;
        firstElementChild: null | Element;
        fullscreenElement: null | Element;
        host: Element;
        innerHTML: string;
        isConnected: boolean;
        lastChild: null | ChildNode;
        lastElementChild: null | Element;
        mode: ShadowRootMode;
        nextSibling: null | ChildNode;
        nodeName: string;
        nodeType: number;
        nodeValue: null | string;
        NOTATION_NODE: 12;
        onslotchange: null | ((this: ShadowRoot, ev: Event) => any);
        ownerDocument: Document;
        parentElement: null | HTMLElement;
        parentNode: null | ParentNode;
        pictureInPictureElement: null | Element;
        pointerLockElement: null | Element;
        previousSibling: null | ChildNode;
        PROCESSING_INSTRUCTION_NODE: 7;
        serializable: boolean;
        slotAssignment: SlotAssignmentMode;
        styleSheets: StyleSheetList;
        TEXT_NODE: 3;
        get textContent(): string;
        set textContent(value: null | string): 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: null | Node): boolean;
        dispatchEvent(event: Event): boolean;
        elementFromPoint(x: number, y: number): null | Element;
        elementsFromPoint(x: number, y: number): Element[];
        getAnimations(): Animation[];
        getElementById(elementId: string): null | HTMLElement;
        getHTML(options?: GetHTMLOptions): string;
        getRootNode(options?: GetRootNodeOptions): Node;
        hasChildNodes(): boolean;
        insertBefore<T extends Node>(node: T, child: null | Node): T;
        isDefaultNamespace(namespace: null | string): boolean;
        isEqualNode(otherNode: null | Node): boolean;
        isSameNode(otherNode: null | Node): boolean;
        lookupNamespaceURI(prefix: null | string): null | string;
        lookupPrefix(namespace: null | string): null | string;
        normalize(): void;
        prepend(...nodes: (string | Node)[]): void;
        querySelector<K extends keyof HTMLElementTagNameMap>(
            selectors: K,
        ): null | HTMLElementTagNameMap[K];
        querySelector<K extends keyof SVGElementTagNameMap>(
            selectors: K,
        ): null | SVGElementTagNameMap[K];
        querySelector<K extends keyof MathMLElementTagNameMap>(
            selectors: K,
        ): null | MathMLElementTagNameMap[K];
        querySelector<K extends keyof HTMLElementDeprecatedTagNameMap>(
            selectors: K,
        ): null | HTMLElementDeprecatedTagNameMap[K];
        querySelector<E extends Element = Element>(selectors: string): null | E;
        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 (View Summary)

    Index

    Properties

    activeElement: null | Element

    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.

    MDN Reference

    adoptedStyleSheets: CSSStyleSheet[]
    ATTRIBUTE_NODE: 2
    baseURI: string

    The read-only baseURI property of the Node interface returns the absolute base URL of the document containing the node.

    MDN Reference

    CDATA_SECTION_NODE: 4

    node is a CDATASection node.

    childElementCount: number
    childNodes: NodeListOf<ChildNode>

    The read-only childNodes property of the Node interface returns a live the first child node is assigned index 0.

    MDN Reference

    children: HTMLCollection

    Returns the child elements.

    MDN Reference

    clonable: boolean

    The clonable read-only property of the ShadowRoot interface returns true if the shadow root is clonable, and false otherwise.

    MDN Reference

    COMMENT_NODE: 8

    node is a Comment node.

    delegatesFocus: boolean

    The delegatesFocus read-only property of the ShadowRoot interface returns true if the shadow root delegates focus, and false otherwise.

    MDN Reference

    DOCUMENT_FRAGMENT_NODE: 11

    node is a DocumentFragment node.

    DOCUMENT_NODE: 9

    node is a document.

    DOCUMENT_POSITION_CONTAINED_BY: 16

    Set when other is a descendant of node.

    DOCUMENT_POSITION_CONTAINS: 8

    Set when other is an ancestor of node.

    DOCUMENT_POSITION_DISCONNECTED: 1

    Set when node and other are not in the same tree.

    DOCUMENT_POSITION_FOLLOWING: 4

    Set when other is following node.

    DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: 32
    DOCUMENT_POSITION_PRECEDING: 2

    Set when other is preceding node.

    DOCUMENT_TYPE_NODE: 10

    node is a doctype.

    ELEMENT_NODE: 1

    node is an element.

    ENTITY_NODE: 6
    ENTITY_REFERENCE_NODE: 5
    firstChild: null | ChildNode

    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.

    MDN Reference

    firstElementChild: null | Element

    Returns the first child that is an element, and null otherwise.

    MDN Reference

    fullscreenElement: null | Element

    Returns document's fullscreen element.

    MDN Reference

    host: Element

    The host read-only property of the ShadowRoot returns a reference to the DOM element the ShadowRoot is attached to.

    MDN Reference

    innerHTML: string

    The innerHTML property of the ShadowRoot interface sets gets or sets the HTML markup to the DOM tree inside the ShadowRoot.

    MDN Reference

    isConnected: boolean

    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.

    MDN Reference

    lastChild: null | ChildNode

    The read-only lastChild property of the Node interface returns the last child of the node, or null if there are no child nodes.

    MDN Reference

    lastElementChild: null | Element

    Returns the last child that is an element, and null otherwise.

    MDN Reference

    The mode read-only property of the ShadowRoot specifies its mode — either open or closed.

    MDN Reference

    nextSibling: null | ChildNode

    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.

    MDN Reference

    nodeName: string

    The read-only nodeName property of Node returns the name of the current node as a string.

    MDN Reference

    nodeType: number

    The read-only nodeType property of a Node interface is an integer that identifies what the node is.

    MDN Reference

    nodeValue: null | string

    The nodeValue property of the Node interface returns or sets the value of the current node.

    MDN Reference

    NOTATION_NODE: 12
    onslotchange: null | ((this: ShadowRoot, ev: Event) => any)
    ownerDocument: Document

    The read-only ownerDocument property of the Node interface returns the top-level document object of the node.

    MDN Reference

    parentElement: null | HTMLElement

    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.

    MDN Reference

    parentNode: null | ParentNode

    The read-only parentNode property of the Node interface returns the parent of the specified node in the DOM tree.

    MDN Reference

    pictureInPictureElement: null | Element
    pointerLockElement: null | Element
    previousSibling: null | ChildNode

    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.

    MDN Reference

    PROCESSING_INSTRUCTION_NODE: 7

    node is a ProcessingInstruction node.

    serializable: boolean

    The serializable read-only property of the ShadowRoot interface returns true if the shadow root is serializable.

    MDN Reference

    slotAssignment: SlotAssignmentMode

    The read-only slotAssignment property of the ShadowRoot interface returns the slot assignment mode for the shadow DOM tree.

    MDN Reference

    styleSheets: StyleSheetList
    TEXT_NODE: 3

    node is a Text node.

    Accessors

    Methods

    • 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.

      MDN Reference

      Parameters

      • ...nodes: (string | Node)[]

      Returns void

    • The appendChild() method of the Node interface adds a node to the end of the list of children of a specified parent node.

      MDN Reference

      Type Parameters

      Parameters

      • node: T

      Returns T

    • The cloneNode() method of the Node interface returns a duplicate of the node on which this method was called.

      MDN Reference

      Parameters

      • Optionalsubtree: boolean

      Returns Node

    • 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.

      MDN Reference

      Parameters

      Returns boolean

    • The dispatchEvent() method of the EventTarget sends an Event to the object, (synchronously) invoking the affected event listeners in the appropriate order.

      MDN Reference

      Parameters

      • event: Event

      Returns boolean

    • The getHTML() method of the ShadowRoot interface is used to serialize a shadow root's DOM to an HTML string.

      MDN Reference

      Parameters

      Returns string

    • The hasChildNodes() method of the Node interface returns a boolean value indicating whether the given Node has child nodes or not.

      MDN Reference

      Returns boolean

    • The insertBefore() method of the Node interface inserts a node before a reference node as a child of a specified parent node.

      MDN Reference

      Type Parameters

      Parameters

      • node: T
      • child: null | Node

      Returns T

    • The isDefaultNamespace() method of the Node interface accepts a namespace URI as an argument.

      MDN Reference

      Parameters

      • namespace: null | string

      Returns boolean

    • The isSameNode() method of the Node interface is a legacy alias the for the === strict equality operator.

      MDN Reference

      Parameters

      • otherNode: null | Node

      Returns boolean

    • 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 (and null if not).

      MDN Reference

      Parameters

      • prefix: null | string

      Returns null | string

    • The lookupPrefix() method of the Node interface returns a string containing the prefix for a given namespace URI, if present, and null if not.

      MDN Reference

      Parameters

      • namespace: null | string

      Returns null | string

    • The normalize() method of the Node interface puts the specified node and all of its sub-tree into a normalized form.

      MDN Reference

      Returns void

    • 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.

      MDN Reference

      Parameters

      • ...nodes: (string | Node)[]

      Returns void

    • 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.

      MDN Reference

      Parameters

      • ...nodes: (string | Node)[]

      Returns void

    • 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.

      MDN Reference

      Parameters

      • html: string

      Returns void