Element
Element
is the most general base class from which all objects 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
Inherits properties from its parent interface, Node
, and by extension that interface's parent, EventTarget
. It implements the properties of ParentNode
, ChildNode
, NonDocumentTypeChildNode
, and Animatable
.
Element.attributes
Read only- Returns a
NamedNodeMap
object containing the assigned attributes of the corresponding HTML 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.computedName
Read only- Returns a
DOMString
containing the label exposed to accessibility. Element.computedRole
Read only- Returns a
DOMString
containing the ARIA role that has been applied to a particular 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.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. NonDocumentTypeChildNode.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.prefix
Read only- A
DOMString
representing the namespace prefix of the element, ornull
if no prefix is specified. NonDocumentTypeChildNode.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 document 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.openOrClosedShadowRoot
Read only- Returns the shadow root that is hosted by the element, regardless if its open or closed. Available only to WebExtensions.
Element.slot
- Returns the name of the shadow DOM slot the element is inserted in.
Element.tabStop
- Is a
Boolean
indicating if the element can receive input focus via the tab key. Element.tagName
Read only- Returns a
String
with the name of the tag for the given element. Element.undoManager
Read only- Returns the
UndoManager
associated with the element. Element.undoScope
- Is a
Boolean
indicating if the element is an undo scope host, or not.
Note: DOM Level 3 defined namespaceURI
, localName
and prefix
on the Node
interface. In DOM4 they were moved to Element
.
This change is implemented in Chrome since version 46.0 and Firefox since version 48.0.
Properties included from Slotable
The Element
interface includes the following property, defined on the Slotable
mixin.
Slotable.assignedSlot
Read only- Returns a
HTMLSlotElement
representing the<slot>
the node is inserted in.
Event handlers
Element.onfullscreenchange
- An event handler for the
fullscreenchange
event, which is sent when the element enters or exits full-screen mode. This can be used to watch both for successful expected transitions, but also to watch for unexpected changes, such as when your app is backgrounded. Element.onfullscreenerror
- An event handler for the
fullscreenerror
event, which is sent when an error occurs while attempting to change into full-screen mode.
Obsolete event handlers
Element.onwheel
- Returns the event handling code for the
wheel
event. This is now implemented onGlobalEventHandlers
.
Methods
Inherits methods from its parents Node
, and its own parent, EventTarget
, and implements those of ParentNode
, ChildNode
, NonDocumentTypeChildNode
, and Animatable
.
EventTarget.addEventListener()
- Registers an event handler to a specific event type on the element.
Element.attachShadow()
- Attatches 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.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 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
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 an
Object
. Element.getAttributeNames()
- Returns an array of attribute names from the current element.
Element.getAttributeNS()
- Retrieves the value of the attribute with the specified name and namespace, from the current node and returns it as an
Object
. 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.getBoundingClientRect()
- Returns the size of an element and its position relative to the viewport.
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
indicating if the element has the specified attribute or not. Element.hasAttributeNS()
- Returns a
Boolean
indicating if the element has the specified attribute, in the specified namespace, or not. Element.hasAttributes()
- Returns a
Boolean
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
indicating whether or not the element would be selected by the specified selector string. 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
. ChildNode.remove()
- Removes the element from the children list of its parent.
Element.removeAttribute()
- Removes the named attribute from the current node.
Element.removeAttributeNS()
- Removes the attribute with the specified name and namespace, from the current node.
Element.removeAttributeNode()
- Removes the node representation of the named attribute from the current node.
EventTarget.removeEventListener()
- Removes an event listener from the element.
Element.requestFullscreen()
- Asynchronously asks the browser to make the element full-screen.
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.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.setAttributeNS()
- Sets the value of the attribute with the specified name and namespace, from 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.setCapture()
- Sets up mouse event capture, redirecting all mouse events to this 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.
Specifications
Specification | Status | Comment |
---|---|---|
Web Animations | Working Draft | Added the getAnimations() method. |
UndoManager and DOMTransaction The definition of 'Element' in that specification. |
Editor's Draft | Added the undoScope and undoManager properties. |
Pointer Events – Level 2 The definition of 'Element' in that specification. |
Recommendation | Added the following event handlers: ongotpointercapture and onlostpointercapture .Added the following methods: setPointerCapture() and releasePointerCapture() . |
Pointer Events The definition of 'Element' in that specification. |
Obsolete | Added the following event handlers: ongotpointercapture and onlostpointercapture .Added the following methods: setPointerCapture() and releasePointerCapture() . |
Selectors API Level 1 The definition of 'Element' in that specification. |
Obsolete | Added the following methods: querySelector() and querySelectorAll() . |
Pointer Lock The definition of 'Element' in that specification. |
Candidate Recommendation | Added the requestPointerLock() method. |
Fullscreen API The definition of 'Element' in that specification. |
Living Standard | Added the requestFullscreen() method. |
DOM Parsing and Serialization The definition of 'Element' in that specification. |
Working Draft | Added the following properties: innerHTML , and outerHTML .Added the following method: insertAdjacentHTML() . |
CSS Object Model (CSSOM) View Module The definition of 'Element' in that specification. |
Working Draft | Added the following properties: scrollTop , scrollLeft , scrollWidth , scrollHeight , clientTop , clientLeft , clientWidth , and clientHeight .Added the following methods: getClientRects() , getBoundingClientRect() , scroll() , scrollBy() , scrollTo() and scrollIntoView() . |
Element Traversal Specification The definition of 'Element' in that specification. |
Obsolete | Added inheritance of the ElementTraversal interface. |
DOM The definition of 'Element' in that specification. |
Living Standard | Added the following methods: closest() , insertAdjacentElement() and insertAdjacentText() .Moved hasAttributes() from the Node interface to this one. |
DOM4 The definition of 'Element' in that specification. |
Obsolete | Removed the following methods: setIdAttribute() , setIdAttributeNS() , and setIdAttributeNode() .Modified the return value of getElementsByTagName() and getElementsByTagNameNS() .Removed the schemaTypeInfo property. |
Document Object Model (DOM) Level 3 Core Specification The definition of 'Element' in that specification. |
Obsolete | Added the following methods: setIdAttribute() , setIdAttributeNS() , and setIdAttributeNode() . These methods were never implemented and have been removed in later specifications.Added the schemaTypeInfo property. This property was never implemented and has been removed in later specifications. |
Document Object Model (DOM) Level 2 Core Specification The definition of 'Element' in that specification. |
Obsolete | The normalize() method has been moved to Node . |
Document Object Model (DOM) Level 1 Specification The definition of 'Element' in that specification. |
Obsolete | Initial definition. |
Browser compatibility
BCD tables only load in the browser