Documentation
REFERENCE
DOMNodeState Object
Selectors allow you to get a server-side representation of a DOM node's state. This state object exposes API that is similar to DOM objects.
To obtain the state, execute the selector as an asynchronous function. Promises returned by selectors also expose the state's API:
const element = Selector('#my-element');
const state = await element();
console.log(state.textContent); // > ABC
// or
console.log(await element.textContent); // > ABC
See the Obtain Element State section for more information.
Members Common Across All Nodes #
Property | Type | Description |
---|---|---|
childElementCount |
Number | The number of child HTML elements. |
childNodeCount |
Number | The number of child nodes. |
hasChildElements |
Boolean | true if this node has child HTML elements. |
hasChildNodes |
Boolean | true if this node has child nodes. |
nodeType |
Number | The type of the node. See Node.nodeType. |
textContent |
String | The text content of the node and its descendants. See Node.textContent. |
Method | Type | Description |
---|---|---|
hasClass(className) |
Boolean | true if the element has the specified class name. |
Members Specific to Element Nodes #
Property | Type | Description |
---|---|---|
attributes |
Object | Attributes of the element as { name: value, ... } . You can also use the getAttribute method to access attribute values. |
boundingClientRect |
Object | The size of the element and its position relative to the viewport. Contains the left , right , bottom , top , width and height properties. You can also use the getBoundingClientRectProperty method to access these properties. |
checked |
Boolean | For checkbox and radio input elements, their current state. For other elements, undefined . |
classNames |
Array of String | The list of element's classes. |
clientHeight |
Number | The inner height of the element, including padding but not the horizontal scrollbar height, border, or margin. See Element.clientHeight. |
clientLeft |
Number | The width of the left border of the element. See Element.clientLeft. |
clientTop |
Number | The width of the top border of the element. See Element.clientTop. |
clientWidth |
Number | The inner width of the element, including padding but not the vertical scrollbar width, border, or margin. See Element.clientWidth. |
focused |
Boolean | true if the element is focused. |
id |
String | The element's identifier. See Element.id. |
innerText |
String | The element's text content "as rendered". See The innerText IDL attribute. |
namespaceURI |
String | The namespace URI of the element. If the element does not have a namespace, this property is set to null . See Element.namespaceURI. |
offsetHeight |
Number | The height of the element including vertical padding and borders. See HTMLElement.offsetHeight. |
offsetLeft |
Number | The number of pixels that the upper left corner of the element is offset by to the left within the offsetParent node. See HTMLElement.offsetLeft. |
offsetTop |
Number | The number of pixels that the upper left corner of the element is offset by to the top within the offsetParent node. See HTMLElement.offsetTop. |
offsetWidth |
Number | The width of the element including vertical padding and borders. See HTMLElement.offsetWidth. |
selected |
Boolean | Indicates that <option> element is currently selected. For other elements, undefined . See HTMLOptionElement. |
selectedIndex |
Number | For <select> element, the index of the first selected <option> element. For other elements, undefined . See HTMLSelectElement.selectedIndex. |
scrollHeight |
Number | The height of the element's content, including content not visible on the screen due to overflow. See Element.scrollHeight. |
scrollLeft |
Number | The number of pixels that the element's content is scrolled to the left. See Element.scrollLeft. |
scrollTop |
Number | The number of pixels that the element's content is scrolled upward. See Element.scrollTop. |
scrollWidth |
Number | Either the width in pixels of the element's content or the width of the element itself, whichever is greater. See Element.scrollWidth. |
style |
Object | The computed values of element's CSS properties as { property: value, ... } . You can also use the getStyleProperty method to access CSS properties. |
tagName |
String | The name of the element. See Element.tagName. |
value |
String | For input elements, the current value in the control. For other elements, undefined . |
visible |
Boolean | true if the element is visible, i.e. does not have display: none or visibility: hidden CSS properties and has non-zero width and height. |
Method | Type | Description |
---|---|---|
getStyleProperty(propertyName) |
Object | Returns the computed value of the CSS propertyName property. You can also use the style property to access a hash table of CSS properties. |
getAttribute(attributeName) |
String | Returns the value of the attributeName attribute. You can also use the attributes property to access a hash table of attributes. |
getBoundingClientRectProperty(propertyName) |
Number | Returns the value of the propertyName property from the boundingClientRect object. |
hasAttribute(attributeName) |
Boolean | true if the element has the attributeName attribute. Use the getAttribute method to obtain the attribute value. |