Node is an interface from which a number of DOM API object types inherit. It allows those types to be treated similarly; for example, inheriting the same set of methods, or being tested in the same way.

interface ParentNode {
    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;
    baseURI: string;
    childElementCount: number;
    childNodes: NodeListOf<ChildNode>;
    children: HTMLCollection;
    firstChild: null | ChildNode;
    firstElementChild: null | Element;
    isConnected: boolean;
    lastChild: null | ChildNode;
    lastElementChild: null | Element;
    nextSibling: null | ChildNode;
    nodeName: string;
    nodeType: number;
    nodeValue: null | string;
    ownerDocument: null | Document;
    parentElement: null | HTMLElement;
    parentNode: null | ParentNode;
    previousSibling: null | ChildNode;
    textContent: null | string;
    addEventListener(type, callback, options?): void;
    append(...nodes): void;
    appendChild<T>(node): T;
    cloneNode(deep?): Node;
    compareDocumentPosition(other): number;
    contains(other): boolean;
    dispatchEvent(event): boolean;
    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(type, callback, 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.

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.

firstChild: null | ChildNode

Returns the first child.

firstElementChild: null | Element

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

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
ownerDocument: null | Document

Returns the node document. Returns null for documents.

parentElement: null | HTMLElement

Returns the parent element.

parentNode: null | ParentNode

Returns the parent.

previousSibling: null | ChildNode

Returns the previous sibling.

textContent: null | string

Methods

  • Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.

    The options argument sets listener-specific options. For compatibility this can be a boolean, in which case the method behaves exactly as if the value was specified as options's capture.

    When set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET.

    When set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in § 2.8 Observing event listeners.

    When set to true, options's once indicates that the callback will only be invoked once after which the event listener will be removed.

    If an AbortSignal is passed for options's signal, then the event listener will be removed when signal is aborted.

    The event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture.

    Parameters

    Returns void

  • 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 a bitmask indicating the position of other relative to node.

    Parameters

    Returns number

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

    Returns boolean

  • Parameters

    • namespace: null | string

    Returns boolean

  • Returns whether node and otherNode have the same properties.

    Parameters

    • otherNode: null | Node

    Returns boolean

  • Parameters

    • otherNode: null | Node

    Returns boolean

  • Parameters

    • prefix: null | string

    Returns null | string

  • Parameters

    • namespace: null | string

    Returns null | string

  • 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