ShadowRoot extension type
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.
You can retrieve a reference to an element's shadow root using its
Element.shadowRoot property, provided it was created using
Element.attachShadow with the mode
option set to open
.
API documentation sourced from MDN Web Docs.
- on
- Implemented types
- Available extensions
Properties
- activeElement → Element?
-
The
activeElement
read-only property of the ShadowRoot interface returns the element within the shadow tree that has focus.no setter -
adoptedStyleSheets
↔ JSArray<
CSSStyleSheet> -
The
adoptedStyleSheets
property of the ShadowRoot interface sets an array of constructed stylesheets to be used by the shadow DOM subtree.getter/setter pair - baseURI → String
-
The read-only
baseURI
property of the Node interface returns the absolute base URL of the document containing the node.no setterinherited - childElementCount → int
-
The
DocumentFragment.childElementCount
read-only property returns the number of child elements of aDocumentFragment
.no setterinherited - childNodes → NodeList
-
The read-only
childNodes
property of the Node interface returns a live NodeList of child Node of the given element where the first child node is assigned index0
. Child nodes include elements, text and comments.no setterinherited - children → HTMLCollection
-
The read-only
children
property returns a live HTMLCollection which contains all of the child Element of the document fragment upon which it was called.no setterinherited - clonable → bool
-
The
clonable
read-only property of the ShadowRoot interface returnstrue
if the shadow root is clonable, andfalse
otherwise.no setter - delegatesFocus → bool
-
The
delegatesFocus
read-only property of the ShadowRoot interface returnstrue
if the shadow root delegates focus, andfalse
otherwise.no setter - firstChild → Node?
-
The read-only
firstChild
property of the Node interface returns the node's first child in the tree, ornull
if the node has no children.no setterinherited - firstElementChild → Element?
-
The
DocumentFragment.firstElementChild
read-only property returns the document fragment's first child Element, ornull
if there are no child elements.no setterinherited - fullscreenElement → Element?
-
The
fullscreenElement
read-only property of the ShadowRoot interface returns the element within the shadow tree that is currently displayed in full screen.no setter - hashCode → int
-
The hash code for this object.
no setterinherited
- host → Element
-
The
host
read-only property of the ShadowRoot returns a reference to the DOM element theShadowRoot
is attached to.no setter - innerHTML ↔ JSAny
-
The
innerHTML
property of the ShadowRoot interface sets or returns a reference to the DOM tree inside theShadowRoot
.getter/setter pair - isConnected → bool
-
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.no setterinherited - lastChild → Node?
-
The read-only
lastChild
property of the Node interface returns the last child of the node, ornull
if there are no child nodes.no setterinherited - lastElementChild → Element?
-
The
DocumentFragment.lastElementChild
read-only property returns the document fragment's last child Element, ornull
if there are no child elements.no setterinherited - mode → ShadowRootMode
-
The
mode
read-only property of the ShadowRoot specifies its mode — eitheropen
orclosed
. This defines whether or not the shadow root's internal features are accessible from JavaScript.no setter - nextSibling → Node?
-
The read-only
nextSibling
property of the Node interface returns the node immediately following the specified one in their parent's Node.childNodes, or returnsnull
if the specified node is the last child in the parent element.no setterinherited - nodeName → String
-
The read-only
nodeName
property of Node returns the name of the current node as a string.no setterinherited - nodeType → int
-
The read-only
nodeType
property of a Node interface is an integer that identifies what the node is. It distinguishes different kind of nodes from each other, such as Element, Text and Comment.no setterinherited - nodeValue ↔ String?
-
The
nodeValue
property of the Node interface returns or sets the value of the current node.getter/setter pairinherited - onslotchange ↔ EventHandler?
-
getter/setter pair
- ownerDocument → Document?
-
The read-only
ownerDocument
property of the Node interface returns the top-level document object of the node.no setterinherited - parentElement → Element?
-
The read-only
parentElement
property of Node interface returns the DOM node's parent Element, ornull
if the node either has no parent, or its parent isn't a DOM Element.no setterinherited - parentNode → Node?
-
The read-only
parentNode
property of the Node interface returns the parent of the specified node in the DOM tree.no setterinherited - pictureInPictureElement → Element?
-
The
pictureInPictureElement
read-only property of the ShadowRoot interface returns the Element that is currently being presented in picture-in-picture mode in this shadow tree, ornull
if picture-in-picture mode is not currently in use.no setter - pointerLockElement → Element?
-
The
pointerLockElement
read-only property of the ShadowRoot interface provides the element set as the target for mouse events while the pointer is locked. It isnull
if lock is pending, pointer is unlocked, or the target is in another tree.no setter - previousSibling → Node?
-
The read-only
previousSibling
property of the Node interface returns the node immediately preceding the specified one in its parent's Node.childNodes list, ornull
if the specified node is the first in that list.no setterinherited - runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- serializable → bool
-
The
serializable
read-only property of the ShadowRoot interface returnstrue
if the shadow root is serializable.no setter - slotAssignment → SlotAssignmentMode
-
The read-only
slotAssignment
property of the ShadowRoot interface returns the slot assignment mode for the shadow DOM tree. Nodes are either automatically assigned (named
) or manually assigned (manual
). The value of this property defined using theslotAssignment
option when calling Element.attachShadow.no setter - styleSheets → StyleSheetList
-
The
styleSheets
read-only property of the ShadowRoot interface returns a StyleSheetList of CSSStyleSheet objects, for stylesheets explicitly linked into or embedded in a shadow tree.no setter - textContent ↔ String?
-
The
textContent
property of the Node interface represents the text content of the node and its descendants.getter/setter pairinherited
Methods
-
addEventListener(
String type, EventListener? callback, [JSAny options]) → void -
The
addEventListener()
method of the EventTarget interface sets up a function that will be called whenever the specified event is delivered to the target.inherited -
append(
JSAny nodes) → void -
The
DocumentFragment.append()
method inserts a set of Node objects or string objects after the last child of the document fragment. String objects are inserted as equivalent Text nodes.inherited -
appendChild(
Node node) → Node -
The
appendChild()
method of the Node interface adds a node to the end of the list of children of a specified parent node.inherited -
cloneNode(
[bool deep]) → Node -
The
cloneNode()
method of the Node interface returns a duplicate of the node on which this method was called. Its parameter controls if the subtree contained in a node is also cloned or not.inherited -
compareDocumentPosition(
Node other) → int -
The
compareDocumentPosition()
method of the Node interface reports the position of its argument node relative to the node on which it is called.inherited -
contains(
Node? other) → bool -
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.inherited -
dispatchEvent(
Event event) → bool -
The
dispatchEvent()
method of the EventTarget sends an Event to the object, (synchronously) invoking the affected event listeners in the appropriate order. The normal event processing rules (including the capturing and optional bubbling phase) also apply to events dispatched manually withdispatchEvent()
.inherited -
getAnimations(
) → JSArray< Animation> -
The
getAnimations()
method of the ShadowRoot interface returns an array of all Animation objects currently in effect whose target elements are descendants of the shadow tree. This array includes CSS Animations, CSS Transitions, and Web Animations. -
getElementById(
String elementId) → Element? -
The
getElementById()
method of the DocumentFragment returns an Element object representing the element whose Element.id property matches the specified string. Since element IDs are required to be unique if specified, they're a useful way to get access to a specific element quickly.inherited -
getHTML(
[GetHTMLOptions options]) → String -
The
getHTML()
method of the ShadowRoot interface is used to serialize a shadow root's DOM to an HTML string. -
getRootNode(
[GetRootNodeOptions options]) → Node -
The
getRootNode()
method of the Node interface returns the context object's root, which optionally includes the shadow root if it is available.inherited -
hasChildNodes(
) → bool -
The
hasChildNodes()
method of the Node interface returns a boolean value indicating whether the given Node has child nodes or not.inherited -
insertBefore(
Node node, Node? child) → Node -
The
insertBefore()
method of the Node interface inserts a node before a reference node as a child of a specified parent node.inherited -
isDefaultNamespace(
String? namespace) → bool -
The
isDefaultNamespace()
method of the Node interface accepts a namespace URI as an argument. It returns a boolean value that istrue
if the namespace is the default namespace on the given node andfalse
if not.inherited -
isEqualNode(
Node? otherNode) → bool -
The
isEqualNode()
method of the Node interface tests whether two nodes are equal. Two nodes are equal when they have the same type, defining characteristics (for elements, this would be their ID, number of children, and so forth), its attributes match, and so on. The specific set of data points that must match varies depending on the types of the nodes.inherited -
isSameNode(
Node? otherNode) → bool -
The
isSameNode()
method of the Node interface is a legacy alias the for the===
strict equality operator. That is, it tests whether two nodes are the same (in other words, whether they reference the same object).inherited -
lookupNamespaceURI(
String? prefix) → String? -
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 (andnull
if not).inherited -
lookupPrefix(
String? namespace) → String? -
The
lookupPrefix()
method of the Node interface returns a string containing the prefix for a given namespace URI, if present, andnull
if not. When multiple prefixes are possible, the first prefix is returned.inherited -
normalize(
) → void -
The
normalize()
method of the Node interface puts the specified node and all of its sub-tree into a normalized form. In a normalized sub-tree, no text nodes in the sub-tree are empty and there are no adjacent text nodes.inherited -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
prepend(
JSAny nodes) → void -
The
DocumentFragment.prepend()
method inserts a set of Node objects or string objects before the first child of the document fragment. String objects are inserted as equivalent Text nodes.inherited -
querySelector(
String selectors) → Element? -
The
DocumentFragment.querySelector()
method returns the first element, ornull
if no matches are found, within the DocumentFragment (using depth-first pre-order traversal of the document's nodes) that matches the specified group of selectors.inherited -
querySelectorAll(
String selectors) → NodeList -
The
DocumentFragment.querySelectorAll()
method returns a NodeList of elements within the DocumentFragment (using depth-first pre-order traversal of the document's nodes) that matches the specified group of selectors.inherited -
removeChild(
Node child) → Node -
The
removeChild()
method of the Node interface removes a child node from the DOM and returns the removed node.inherited -
removeEventListener(
String type, EventListener? callback, [JSAny options]) → void -
The
removeEventListener()
method of the EventTarget interface removes an event listener previously registered with EventTarget.addEventListener from the target. The event listener to be removed is identified using a combination of the event type, the event listener function itself, and various optional options that may affect the matching process; see Matching event listeners for removal.inherited -
replaceChild(
Node node, Node child) → Node -
The
replaceChild()
method of the Node interface replaces a child node within the given (parent) node.inherited -
replaceChildren(
JSAny nodes) → void -
The
DocumentFragment.replaceChildren()
method replaces the existing children of aDocumentFragment
with a specified new set of children. These can be string or Node objects.inherited -
setHTMLUnsafe(
JSAny html) → void -
The
setHTMLUnsafe()
method of the ShadowRoot interface is used to parse a string of HTML into a DocumentFragment, which then replaces the element's subtree in the DOM. The input HTML may include declarative shadow roots. -
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited