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.

Documentation ShadowRoot by Mozilla Contributors, licensed under CC-BY-SA 2.5.

See also:

Variables

read onlyhost:Element

Returns a reference to the DOM element the ShadowRoot is attached to.

innerHTML:String

Sets or returns a reference to the DOM tree inside the ShadowRoot.

read onlymode:ShadowRootMode

The mode of the ShadowRoot — either open or closed. This defines whether or not the shadow root's internal features are accessible from JavaScript.

Methods

Inherited Variables

Defined by DocumentFragment

Defined by Node

read onlybaseURI:String

Returns a DOMString representing the base URL. The concept of base URL changes from one language to another; in HTML, it corresponds to the protocol, the domain name and the directory structure, that is all until the last '/'.

read onlychildNodes:NodeList

Returns a live NodeList containing all the children of this node. NodeList being live means that if the children of the Node change, the NodeList object is automatically updated.

read onlyfirstChild:Node

Returns a Node representing the first direct child node of the node, or null if the node has no child.

read onlyisConnected:Bool

Returns a boolean indicating whether or not the Node is connected (directly or indirectly) to the context object, e.g. the Document object in the case of the normal DOM, or the ShadowRoot in the case of a shadow DOM.

read onlylastChild:Node

Returns a Node representing the last direct child node of the node, or null if the node has no child.

read onlynextSibling:Node

Returns a Node representing the next node in the tree, or null if there isn't such node.

read onlynodeName:String

Returns a DOMString containing the name of the Node. The structure of the name will differ with the node type. E.g. An HTMLElement will contain the name of the corresponding tag, like 'audio' for an HTMLAudioElement, a Text node will have the '#text' string, or a Document node will have the '#document' string.

read onlynodeType:Int

Returns an unsigned short representing the type of the node. Possible values are:

Name Value

ELEMENT_NODE 1
ATTRIBUTE_NODE (deprecated) 2
TEXT_NODE 3
CDATA_SECTION_NODE (deprecated) 4
ENTITY_REFERENCE_NODE (deprecated) 5
ENTITY_NODE (deprecated) 6
PROCESSING_INSTRUCTION_NODE 7
COMMENT_NODE 8
DOCUMENT_NODE 9
DOCUMENT_TYPE_NODE 10
DOCUMENT_FRAGMENT_NODE 11
NOTATION_NODE (deprecated) 12

nodeValue:String

Returns / Sets the value of the current node

read onlyownerDocument:HTMLDocument

Returns the Document that this node belongs to. If the node is itself a document, returns null.

read onlyparentElement:Element

Returns an Element that is the parent of this node. If the node has no parent, or if that parent is not an Element, this property returns null.

read onlyparentNode:Node

Returns a Node that is the parent of this node. If there is no such node, like if this node is the top of the tree or if doesn't participate in a tree, this property returns null.

read onlypreviousSibling:Node

Returns a Node representing the previous node in the tree, or null if there isn't such node.

textContent:String

Returns / Sets the textual content of an element and all its descendants.

Inherited Methods

Defined by DocumentFragment

append(nodes:Rest<Node>):Void

append(nodes:Rest<String>):Void

Throws:

null

DOMError

prepend(nodes:Rest<Node>):Void

prepend(nodes:Rest<String>):Void

Throws:

null

DOMError

querySelector(selectors:String):Element

Returns the first Element node within the DocumentFragment, in document order, that matches the specified selectors.

Throws:

null

DOMError

querySelectorAll(selectors:String):NodeList

Returns a NodeList of all the Element nodes within the DocumentFragment that match the specified selectors.

Throws:

null

DOMError

Defined by Node

appendChild(node:Node):Node

Adds the specified childNode argument as the last child to the current node.

If the argument referenced an existing node on the DOM tree, the node will be detached from its current position and attached at the new position.

	@throws DOMError

@:value({ deep : false })cloneNode(deep:Bool = false):Node

Clone a Node, and optionally, all of its contents. By default, it clones the content of the node.

Throws:

null

DOMError

compareDocumentPosition(other:Node):Int

Compares the position of the current node against another node in any other document.

contains(other:Node):Bool

Returns a Boolean value indicating whether a node is a descendant of a given node or not.

getRootNode(?options:Null<GetRootNodeOptions>):Node

Returns the context object's root which optionally includes the shadow root if it is available. 

hasChildNodes():Bool

Returns a Boolean indicating if the element has any child nodes, or not.

insertBefore(node:Node, child:Node):Node

Inserts a Node before the reference node as a child of a specified parent node.

Throws:

null

DOMError

isDefaultNamespace(namespace:String):Bool

Accepts a namespace URI as an argument and returns a Boolean with a value of true if the namespace is the default namespace on the given node or false if not.

isEqualNode(node:Node):Bool

Returns a Boolean which indicates whether or not two nodes are of the same type and all their defining data points match.

isSameNode(node:Node):Bool

Returns a Boolean value indicating whether or not the two nodes are the same (that is, they reference the same object).

lookupNamespaceURI(prefix:String):String

Accepts a prefix and returns the namespace URI associated with it on the given node if found (and null if not). Supplying null for the prefix will return the default namespace.

lookupPrefix(namespace:String):String

Returns a DOMString containing the prefix for a given namespace URI, if present, and null if not. When multiple prefixes are possible, the result is implementation-dependent.

normalize():Void

Clean up all the text nodes under this element (merge adjacent, remove empty).

removeChild(child:Node):Node

Removes a child node from the current element, which must be a child of the current node.

Throws:

null

DOMError

replaceChild(node:Node, child:Node):Node

Replaces one child Node of the current one with the second one given in parameter.

Throws:

null

DOMError

Defined by EventTarget

addEventListener(type:String, listener:Function, ?options:EitherType<AddEventListenerOptions, Bool>, ?wantsUntrusted:Bool):Void

addEventListener(type:String, listener:EventListener, ?options:EitherType<AddEventListenerOptions, Bool>, ?wantsUntrusted:Bool):Void

Register an event handler of a specific event type on the EventTarget.

Throws:

null

DOMError

dispatchEvent(event:Event):Bool

Dispatch an event to this EventTarget.

Throws:

null

DOMError

removeEventListener(type:String, listener:Function, ?options:EitherType<EventListenerOptions, Bool>):Void

removeEventListener(type:String, listener:EventListener, ?options:EitherType<EventListenerOptions, Bool>):Void

Removes an event listener from the EventTarget.

Throws:

null

DOMError