A minimal document object that has no parent. It is used as a lightweight version of Document that stores a segment of a document structure comprised of nodes just like a standard document. The key difference is that because the document fragment isn't part of the active document tree structure, changes made to the fragment don't affect the document, cause reflow, or incur any performance impact that can occur when changes are made.

interface ShadowRoot {
    ATTRIBUTE_NODE: number;
    CDATA_SECTION_NODE: number;
    COMMENT_NODE: number;
    DOCUMENT_FRAGMENT_NODE: number;
    DOCUMENT_NODE: number;
    DOCUMENT_POSITION_CONTAINED_BY: number;
    DOCUMENT_POSITION_CONTAINS: number;
    DOCUMENT_POSITION_DISCONNECTED: number;
    DOCUMENT_POSITION_FOLLOWING: number;
    DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: number;
    DOCUMENT_POSITION_PRECEDING: number;
    DOCUMENT_TYPE_NODE: number;
    ELEMENT_NODE: number;
    ENTITY_NODE: number;
    ENTITY_REFERENCE_NODE: number;
    NOTATION_NODE: number;
    PROCESSING_INSTRUCTION_NODE: number;
    TEXT_NODE: number;
    activeElement: null | Element;
    adoptedStyleSheets: CSSStyleSheet[];
    baseURI: string;
    childElementCount: number;
    childNodes: NodeListOf<ChildNode>;
    children: HTMLCollection;
    delegatesFocus: boolean;
    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;
    onslotchange: null | ((this, ev) => any);
    ownerDocument: Document;
    parentElement: null | HTMLElement;
    parentNode: null | ParentNode;
    pictureInPictureElement: null | Element;
    pointerLockElement: null | Element;
    previousSibling: null | ChildNode;
    slotAssignment: SlotAssignmentMode;
    styleSheets: StyleSheetList;
    textContent: null | string;
    addEventListener<K>(type, listener, options?): void;
    addEventListener(type, listener, options?): void;
    append(...nodes): void;
    appendChild<T>(node): T;
    cloneNode(deep?): Node;
    compareDocumentPosition(other): number;
    contains(other): boolean;
    dispatchEvent(event): boolean;
    elementFromPoint(x, y): null | Element;
    elementsFromPoint(x, y): Element[];
    getAnimations(): Animation[];
    getElementById(elementId): null | HTMLElement;
    getRootNode(options?): Node;
    hasChildNodes(): boolean;
    insertBefore<T>(node, child): T;
    isDefaultNamespace(namespace): boolean;
    isEqualNode(otherNode): boolean;
    isSameNode(otherNode): boolean;
    lookupNamespaceURI(prefix): null | string;
    lookupPrefix(namespace): null | string;
    normalize(): void;
    prepend(...nodes): void;
    querySelector<K>(selectors): null | HTMLElementTagNameMap[K];
    querySelector<K>(selectors): null | SVGElementTagNameMap[K];
    querySelector<E>(selectors): null | E;
    querySelectorAll<K>(selectors): NodeListOf<HTMLElementTagNameMap[K]>;
    querySelectorAll<K>(selectors): NodeListOf<SVGElementTagNameMap[K]>;
    querySelectorAll<E>(selectors): NodeListOf<E>;
    removeChild<T>(child): T;
    removeEventListener<K>(type, listener, options?): void;
    removeEventListener(type, listener, options?): void;
    replaceChild<T>(node, child): T;
    replaceChildren(...nodes): void;
}

Hierarchy (view full)

Properties

ATTRIBUTE_NODE: number
CDATA_SECTION_NODE: number

node is a CDATASection node.

COMMENT_NODE: number

node is a Comment node.

DOCUMENT_FRAGMENT_NODE: number

node is a DocumentFragment node.

DOCUMENT_NODE: number

node is a document.

DOCUMENT_POSITION_CONTAINED_BY: number

Set when other is a descendant of node.

DOCUMENT_POSITION_CONTAINS: number

Set when other is an ancestor of node.

DOCUMENT_POSITION_DISCONNECTED: number

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

DOCUMENT_POSITION_FOLLOWING: number

Set when other is following node.

DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: number
DOCUMENT_POSITION_PRECEDING: number

Set when other is preceding node.

DOCUMENT_TYPE_NODE: number

node is a doctype.

ELEMENT_NODE: number

node is an element.

ENTITY_NODE: number
ENTITY_REFERENCE_NODE: number
NOTATION_NODE: number
PROCESSING_INSTRUCTION_NODE: number

node is a ProcessingInstruction node.

TEXT_NODE: number

node is a Text node.

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.

adoptedStyleSheets: CSSStyleSheet[]
baseURI: string

Returns node's node document's document base URL.

childElementCount: number
childNodes: NodeListOf<ChildNode>

Returns the children.

children: HTMLCollection

Returns the child elements.

delegatesFocus: boolean
firstChild: null | ChildNode

Returns the first child.

firstElementChild: null | Element

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

fullscreenElement: null | Element

Returns document's fullscreen element.

host: Element
innerHTML: string
isConnected: boolean

Returns true if node is connected and false otherwise.

lastChild: null | ChildNode

Returns the last child.

lastElementChild: null | Element

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

nextSibling: null | ChildNode

Returns the next sibling.

nodeName: string

Returns a string appropriate for the type of node.

nodeType: number

Returns the type of node.

nodeValue: null | string
onslotchange: null | ((this, ev) => any)

Type declaration

ownerDocument: Document

Returns the node document. Returns null for documents.

parentElement: null | HTMLElement

Returns the parent element.

parentNode: null | ParentNode

Returns the parent.

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

Returns the previous sibling.

slotAssignment: SlotAssignmentMode
styleSheets: StyleSheetList

Retrieves a collection of styleSheet objects representing the style sheets that correspond to each instance of a link or style object in the document.

textContent: null | string

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.

    Parameters

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

    Returns void

  • Returns a copy of node. If deep is true, the copy also includes the node's descendants.

    Parameters

    • Optional deep: boolean

    Returns Node

  • Returns true if other is an inclusive descendant of node, and false otherwise.

    Parameters

    Returns boolean

  • Dispatches a synthetic event event to target and returns true if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise.

    Parameters

    Returns boolean

  • Returns whether node and otherNode have the same properties.

    Parameters

    • otherNode: null | Node

    Returns boolean

  • Removes empty exclusive Text nodes and concatenates the data of remaining contiguous exclusive Text nodes into the first of their nodes.

    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.

    Parameters

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

    Parameters

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

    Returns void