Element
Element
is the most general base class from which all element objects (i.e. objects that represent elements) in a Document
inherit. It only has methods and properties common to all kinds of elements. More specific classes inherit from Element
.
For example, the HTMLElement
interface is the base interface for HTML elements, while the SVGElement
interface is the basis for all SVG elements. Most functionality is specified further down the class hierarchy.
Languages outside the realm of the Web platform, like XUL through the XULElement
interface, also implement Element
.
Properties
Element
inherits properties from its parent interface, Node
, and by extension that interface's parent, EventTarget
.
Element.assignedSlot
Read only-
Returns a
HTMLSlotElement
representing the<slot>
the node is inserted in. Element.attributes
Read only-
Returns a
NamedNodeMap
object containing the assigned attributes of the corresponding HTML element. Element.childElementCount
Read only-
Returns the number of child elements of this element.
Element.children
Read only-
Returns the child elements of this element.
Element.classList
Read only-
Returns a
DOMTokenList
containing the list of class attributes. Element.className
-
Is a
DOMString
representing the class of the element. Element.clientHeight
Read only-
Returns a number representing the inner height of the element.
Element.clientLeft
Read only-
Returns a number representing the width of the left border of the element.
Element.clientTop
Read only-
Returns a number representing the width of the top border of the element.
Element.clientWidth
Read only-
Returns a number representing the inner width of the element.
Element.firstElementChild
Read only-
Returns the first child element of this element.
Element.id
-
Is a
DOMString
representing the id of the element. Element.innerHTML
-
Is a
DOMString
representing the markup of the element's content. Element.lastElementChild
Read only-
Returns the last child element of this element.
Element.localName
Read only-
A
DOMString
representing the local part of the qualified name of the element. Element.namespaceURI
Read only-
The namespace URI of the element, or
null
if it is no namespace.Note: In Firefox 3.5 and earlier, HTML elements are in no namespace. In later versions, HTML elements are in the
http://www.w3.org/1999/xhtml
namespace in both HTML and XML trees. Element.nextElementSibling
Read only-
Is an
Element
, the element immediately following the given one in the tree, ornull
if there's no sibling node. Element.outerHTML
-
Is a
DOMString
representing the markup of the element including its content. When used as a setter, replaces the element with nodes parsed from the given string. Element.openOrClosedShadowRoot
Read only-
Returns the shadow root that is hosted by the element, regardless if its open or closed. Only available to WebExtensions.
Element.part
-
Represents the part identifier(s) of the element (i.e. set using the
part
attribute), returned as aDOMTokenList
. Element.prefix
Read only-
A
DOMString
representing the namespace prefix of the element, ornull
if no prefix is specified. Element.previousElementSibling
Read only-
Is a
Element
, the element immediately preceding the given one in the tree, ornull
if there is no sibling element. Element.scrollHeight
Read only-
Returns a number representing the scroll view height of an element.
Element.scrollLeft
-
Is a number representing the left scroll offset of the element.
Element.scrollLeftMax
Read only-
Returns a number representing the maximum left scroll offset possible for the element.
Element.scrollTop
-
A number representing number of pixels the top of the element is scrolled vertically.
Element.scrollTopMax
Read only-
Returns a number representing the maximum top scroll offset possible for the element.
Element.scrollWidth
Read only-
Returns a number representing the scroll view width of the element.
Element.shadowRoot
Read only-
Returns the open shadow root that is hosted by the element, or null if no open shadow root is present.
Element.slot
-
Returns the name of the shadow DOM slot the element is inserted in.
Element.tagName
Read only-
Returns a string with the name of the tag for the given element.
Properties included from ARIA
The Element
interface includes the following properties, defined on the ARIAMixin
mixin.
Element.ariaAtomic
-
Is a
DOMString
reflecting thearia-atomic
attribute, which indicates whether assistive technologies will present all, or only parts of, the changed region based on the change notifications defined by thearia-relevant
attribute. Element.ariaAutoComplete
-
Is a
DOMString
reflecting thearia-autocomplete
attribute, which indicates whether inputting text could trigger display of one or more predictions of the user's intended value for a combobox, searchbox, or textbox and specifies how predictions would be presented if they were made. Element.ariaBusy
-
Is a
DOMString
reflecting thearia-busy
attribute, which indicates whether an element is being modified, as assistive technologies may want to wait until the modifications are complete before exposing them to the user. Element.ariaChecked
-
Is a
DOMString
reflecting thearia-checked
attribute, which indicates the current "checked" state of checkboxes, radio buttons, and other widgets that have a checked state. Element.ariaColCount
-
Is a
DOMString
reflecting thearia-colcount
attribute, which defines the number of columns in a table, grid, or treegrid. Element.ariaColIndex
-
Is a
DOMString
reflecting thearia-colindex
attribute, which defines an element's column index or position with respect to the total number of columns within a table, grid, or treegrid. Element.ariaColIndexText
-
Is a
DOMString
reflecting thearia-colindextext
attribute, which defines a human readable text alternative of aria-colindex. Element.ariaColSpan
-
Is a
DOMString
reflecting thearia-colspan
attribute, which defines the number of columns spanned by a cell or gridcell within a table, grid, or treegrid. Element.ariaCurrent
-
Is a
DOMString
reflecting thearia-current
attribute, which indicates the element that represents the current item within a container or set of related elements. Element.ariaDescription
-
Is a
DOMString
reflecting thearia-description
attribute, which defines a string value that describes or annotates the current element. Element.ariaDisabled
-
Is a
DOMString
reflecting thearia-disabled
attribute, which indicates that the element is perceivable but disabled, so it is not editable or otherwise operable. Element.ariaExpanded
-
Is a
DOMString
reflecting thearia-expanded
attribute, which indicates whether a grouping element owned or controlled by this element is expanded or collapsed. Element.ariaHasPopup
-
Is a
DOMString
reflecting thearia-haspopup
attribute, which indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element. -
Is a
DOMString
reflecting thearia-hidden
attribute, which indicates whether the element is exposed to an accessibility API. Element.ariaKeyShortcuts
-
Is a
DOMString
reflecting thearia-keyshortcuts
attribute, which indicates keyboard shortcuts that an author has implemented to activate or give focus to an element. Element.ariaLabel
-
Is a
DOMString
reflecting thearia-label
attribute, which defines a string value that labels the current element. Element.ariaLevel
-
Is a
DOMString
reflecting thearia-level
attribute, which defines the hierarchical level of an element within a structure. Element.ariaLive
-
Is a
DOMString
reflecting thearia-live
attribute, which indicates that an element will be updated, and describes the types of updates the user agents, assistive technologies, and user can expect from the live region. Element.ariaModal
-
Is a
DOMString
reflecting thearia-modal
attribute, which indicates whether an element is modal when displayed. Element.ariaMultiline
-
Is a
DOMString
reflecting thearia-multiline
attribute, which indicates whether a text box accepts multiple lines of input or only a single line. Element.ariaMultiSelectable
-
Is a
DOMString
reflecting thearia-multiselectable
attribute, which indicates that the user may select more than one item from the current selectable descendants. Element.ariaOrientation
-
Is a
DOMString
reflecting thearia-orientation
attribute, which indicates whether the element's orientation is horizontal, vertical, or unknown/ambiguous. Element.ariaPlaceholder
-
Is a
DOMString
reflecting thearia-placeholder
attribute, which defines a short hint intended to aid the user with data entry when the control has no value. Element.ariaPosInSet
-
Is a
DOMString
reflecting thearia-posinset
attribute, which defines an element's number or position in the current set of listitems or treeitems. Element.ariaPressed
-
Is a
DOMString
reflecting thearia-pressed
attribute, which indicates the current "pressed" state of toggle buttons. Element.ariaReadOnly
-
Is a
DOMString
reflecting thearia-readonly
attribute, which indicates that the element is not editable, but is otherwise operable. Element.ariaRelevant
-
Is a
DOMString
reflecting thearia-relevant
attribute, which indicates what notifications the user agent will trigger when the accessibility tree within a live region is modified. This is used to describe what changes in anaria-live
region are relevant and should be announced. Element.ariaRequired
-
Is a
DOMString
reflecting thearia-required
attribute, which indicates that user input is required on the element before a form may be submitted. Element.ariaRoleDescription
-
Is a
DOMString
reflecting thearia-roledescription
attribute, which defines a human-readable, author-localized description for the role of an element. Element.ariaRowCount
-
Is a
DOMString
reflecting thearia-rowcount
attribute, which defines the total number of rows in a table, grid, or treegrid. Element.ariaRowIndex
-
Is a
DOMString
reflecting thearia-rowindex
attribute, which defines an element's row index or position with respect to the total number of rows within a table, grid, or treegrid. Element.ariaRowIndexText
-
Is a
DOMString
reflecting thearia-rowindextext
attribute, which defines a human readable text alternative of aria-rowindex. Element.ariaRowSpan
-
Is a
DOMString
reflecting thearia-rowspan
attribute, which defines the number of rows spanned by a cell or gridcell within a table, grid, or treegrid. Element.ariaSelected
-
Is a
DOMString
reflecting thearia-selected
attribute, which indicates the current "selected" state of elements that have a selected state. Element.ariaSetSize
-
Is a
DOMString
reflecting thearia-setsize
attribute, which defines the number of items in the current set of listitems or treeitems. Element.ariaSort
-
Is a
DOMString
reflecting thearia-sort
attribute, which indicates if items in a table or grid are sorted in ascending or descending order. Element.ariaValueMax
-
Is a
DOMString
reflecting thearia-valueMax
attribute, which defines the maximum allowed value for a range widget. Element.ariaValueMin
-
Is a
DOMString
reflecting thearia-valueMin
attribute, which defines the minimum allowed value for a range widget. Element.ariaValueNow
-
Is a
DOMString
reflecting thearia-valueNow
attribute, which defines the current value for a range widget. Element.ariaValueText
-
Is a
DOMString
reflecting thearia-valuetext
attribute, which defines the human readable text alternative of aria-valuenow for a range widget.
Methods
Element
inherits methods from its parents Node
, and its own parent, EventTarget
.
EventTarget.addEventListener()
-
Registers an event handler to a specific event type on the element.
Element.after()
-
Inserts a set of
Node
orDOMString
objects in the children list of theElement
's parent, just after theElement
. Element.attachShadow()
-
Attaches a shadow DOM tree to the specified element and returns a reference to its
ShadowRoot
. Element.animate()
-
A shortcut method to create and run an animation on an element. Returns the created Animation object instance.
Element.append()
-
Inserts a set of
Node
objects orDOMString
objects after the last child of the element. Element.before()
-
Inserts a set of
Node
orDOMString
objects in the children list of theElement
's parent, just before theElement
. Element.closest()
-
Returns the
Element
which is the closest ancestor of the current element (or the current element itself) which matches the selectors given in parameter. Element.createShadowRoot()
-
Creates a shadow DOM on the element, turning it into a shadow host. Returns a
ShadowRoot
. Element.computedStyleMap()
-
Returns a
StylePropertyMapReadOnly
interface which provides a read-only representation of a CSS declaration block that is an alternative toCSSStyleDeclaration
. EventTarget.dispatchEvent()
-
Dispatches an event to this node in the DOM and returns a boolean value that indicates whether no handler canceled the event.
Element.getAnimations()
-
Returns an array of Animation objects currently active on the element.
Element.getAttribute()
-
Retrieves the value of the named attribute from the current node and returns it as a string.
Element.getAttributeNames()
-
Returns an array of attribute names from the current element.
Element.getAttributeNode()
-
Retrieves the node representation of the named attribute from the current node and returns it as an
Attr
. Element.getAttributeNodeNS()
-
Retrieves the node representation of the attribute with the specified name and namespace, from the current node and returns it as an
Attr
. Element.getAttributeNS()
-
Retrieves the value of the attribute with the specified namespace and name from the current node and returns it as a string.
Element.getBoundingClientRect()
-
Returns the size of an element and its position relative to the viewport.
Element.getBoxQuads()
-
Returns a list of
DOMQuad
objects representing the CSS fragments of the node. Element.getClientRects()
-
Returns a collection of rectangles that indicate the bounding rectangles for each line of text in a client.
Element.getElementsByClassName()
-
Returns a live
HTMLCollection
that contains all descendants of the current element that possess the list of classes given in the parameter. Element.getElementsByTagName()
-
Returns a live
HTMLCollection
containing all descendant elements, of a particular tag name, from the current element. Element.getElementsByTagNameNS()
-
Returns a live
HTMLCollection
containing all descendant elements, of a particular tag name and namespace, from the current element. Element.hasAttribute()
-
Returns a boolean value indicating if the element has the specified attribute or not.
Element.hasAttributeNS()
-
Returns a boolean value indicating if the element has the specified attribute, in the specified namespace, or not.
Element.hasAttributes()
-
Returns a boolean value indicating if the element has one or more HTML attributes present.
Element.hasPointerCapture()
-
Indicates whether the element on which it is invoked has pointer capture for the pointer identified by the given pointer ID.
Element.insertAdjacentElement()
-
Inserts a given element node at a given position relative to the element it is invoked upon.
Element.insertAdjacentHTML()
-
Parses the text as HTML or XML and inserts the resulting nodes into the tree in the position given.
Element.insertAdjacentText()
-
Inserts a given text node at a given position relative to the element it is invoked upon.
Element.matches()
-
Returns a boolean value indicating whether or not the element would be selected by the specified selector string.
Element.prepend()
-
Inserts a set of
Node
objects orDOMString
objects before the first child of the element. Element.querySelector()
-
Returns the first
Node
which matches the specified selector string relative to the element. Element.querySelectorAll()
-
Returns a
NodeList
of nodes which match the specified selector string relative to the element. Element.releasePointerCapture()
-
Releases (stops) pointer capture that was previously set for a specific
pointer event
. Element.remove()
-
Removes the element from the children list of its parent.
Element.removeAttribute()
-
Removes the named attribute from the current node.
Element.removeAttributeNode()
-
Removes the node representation of the named attribute from the current node.
Element.removeAttributeNS()
-
Removes the attribute with the specified name and namespace, from the current node.
EventTarget.removeEventListener()
-
Removes an event listener from the element.
Element.replaceChildren()
-
Replaces the existing children of a
Node
with a specified new set of children. Element.replaceWith()
-
Replaces the element in the children list of its parent with a set of
Node
orDOMString
objects. Element.requestFullscreen()
-
Asynchronously asks the browser to make the element fullscreen.
Element.requestPointerLock()
-
Allows to asynchronously ask for the pointer to be locked on the given element.
Element.scroll()
-
Scrolls to a particular set of coordinates inside a given element.
Element.scrollBy()
-
Scrolls an element by the given amount.
Element.scrollIntoView()
-
Scrolls the page until the element gets into the view.
Element.scrollIntoViewIfNeeded()
-
Scrolls the current element into the visible area of the browser window if it's not already within the visible area of the browser window. Use the standard
Element.scrollIntoView()
instead. Element.scrollTo()
-
Scrolls to a particular set of coordinates inside a given element.
Element.setAttribute()
-
Sets the value of a named attribute of the current node.
Element.setAttributeNode()
-
Sets the node representation of the named attribute from the current node.
Element.setAttributeNodeNS()
-
Sets the node representation of the attribute with the specified name and namespace, from the current node.
Element.setAttributeNS()
-
Sets the value of the attribute with the specified name and namespace, from the current node.
Element.setCapture()
-
Sets up mouse event capture, redirecting all mouse events to this element.
Element.setHTML()
-
Parses and sanitizes a string of HTML and inserts into the DOM as a subtree of the element.
Element.setPointerCapture()
-
Designates a specific element as the capture target of future pointer events.
Element.toggleAttribute()
-
Toggles a boolean attribute, removing it if it is present and adding it if it is not present, on the specified element.
Events
Listen to these events using addEventListener()
or by assigning an event listener to the oneventname
property of this interface.
cancel
-
Fires on a
<dialog>
when the user instructs the browser that they wish to dismiss the current open dialog. For example, the browser might fire this event when the user presses the Esc key or clicks a "Close dialog" button which is part of the browser's UI. Also available via theoncancel
property. error
-
Fired when a resource failed to load, or can't be used. For example, if a script has an execution error or an image can't be found or is invalid. Also available via the
onerror
property. scroll
-
Fired when the document view or an element has been scrolled. Also available via the
onscroll
property. securitypolicyviolation
-
Fired when a Content Security Policy is violated. Also available via the global
onsecuritypolicyviolation
property, which available on elements and theDocument
andWindow
objects. select
-
Fired when some text has been selected. Also available via the
onselect
property. show
-
Fired when a
contextmenu
event was fired on/bubbled to an element that has acontextmenu
attribute. Also available via theonshow
property. wheel
-
Fired when the user rotates a wheel button on a pointing device (typically a mouse). Also available via the
onwheel
property.
Clipboard events
copy
-
Fired when the user initiates a copy action through the browser's user interface. Also available via the
oncopy
property. cut
-
Fired when the user initiates a cut action through the browser's user interface. Also available via the
oncut
property. paste
-
Fired when the user initiates a paste action through the browser's user interface. Also available via the
onpaste
property.
Composition events
compositionend
-
Fired when a text composition system such as an input method editor completes or cancels the current composition session.
compositionstart
-
Fired when a text composition system such as an input method editor starts a new composition session.
compositionupdate
-
Fired when a new character is received in the context of a text composition session controlled by a text composition system such as an input method editor.
Focus events
Fullscreen events
fullscreenchange
-
Sent to an
Element
when it transitions into or out of fullscreen mode. fullscreenerror
-
Sent to an
Element
if an error occurs while attempting to switch it into or out of fullscreen mode.
Keyboard events
Mouse events
auxclick
-
Fired when a non-primary pointing device button (e.g., any mouse button other than the left button) has been pressed and released on an element. Also available via the
onauxclick
property. click
-
Fired when a pointing device button (e.g., a mouse's primary button) is pressed and released on a single element. Also available via the
onclick
property. -
Fired when the user attempts to open a context menu. Also available via the
oncontextmenu
property. dblclick
-
Fired when a pointing device button (e.g., a mouse's primary button) is clicked twice on a single element. Also available via the
ondblclick
property. DOMActivate
-
Occurs when an element is activated, for instance, through a mouse click or a keypress.
mousedown
-
Fired when a pointing device button is pressed on an element. Also available via the
onmousedown
property. mouseenter
-
Fired when a pointing device (usually a mouse) is moved over the element that has the listener attached. Also available via the
onmouseenter
property. mouseleave
-
Fired when the pointer of a pointing device (usually a mouse) is moved out of an element that has the listener attached to it. Also available via the
onmouseleave
property. mousemove
-
Fired when a pointing device (usually a mouse) is moved while over an element. Also available via the
onmousemove
property. mouseout
-
Fired when a pointing device (usually a mouse) is moved off the element to which the listener is attached or off one of its children. Also available via the
onmouseout
property. mouseover
-
Fired when a pointing device is moved onto the element to which the listener is attached or onto one of its children. Also available via the
onmouseover
property. mouseup
-
Fired when a pointing device button is released on an element. Also available via the
onmouseup
property. webkitmouseforcechanged
-
Fired each time the amount of pressure changes on the trackpadtouchscreen.
webkitmouseforcedown
-
Fired after the mousedown event as soon as sufficient pressure has been applied to qualify as a "force click".
webkitmouseforcewillbegin
-
Fired before the
mousedown
event. webkitmouseforceup
-
Fired after the
webkitmouseforcedown
event as soon as the pressure has been reduced sufficiently to end the "force click".
Touch events
touchcancel
-
Fired when one or more touch points have been disrupted in an implementation-specific manner (for example, too many touch points are created). Also available via the
ontouchcancel
property. touchend
-
Fired when one or more touch points are removed from the touch surface. Also available via the
ontouchend
property touchmove
-
Fired when one or more touch points are moved along the touch surface. Also available via the
ontouchmove
property touchstart
-
Fired when one or more touch points are placed on the touch surface. Also available via the
ontouchstart
property
Specifications
Browser compatibility
BCD tables only load in the browser