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
.
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.assignedSlot
Read only
HTMLSlotElement
interface associated with the element.Element.attributes
Read only
NamedNodeMap
object containing the assigned attributes of the corresponding HTML element.Element.classList
Read only
DOMTokenList
containing the list of class attributes.Element.className
DOMString
representing the class of the element.Element.clientHeight
Read only
Number
representing the inner height of the element.Element.clientLeft
Read only
Number
representing the width of the left border of the element.Element.clientTop
Read only
Number
representing the width of the top border of the element.Element.clientWidth
Read only
Number
representing the inner width of the element.Element.computedName
Read only
DOMString
containing the label exposed to accessibility.Element.computedRole
Read only
DOMString
containing the ARIA role that has been applied to a particular element. Element.id
DOMString
representing the id of the element.Element.innerHTML
DOMString
representing the markup of the element's content.Element.localName
Read only
DOMString
representing the local part of the qualified name of the element.Element.namespaceURI
Read only
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
Element
, the element immediately following the given one in the tree, or null
if there's no sibling node.Element.outerHTML
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
DOMString
representing the namespace prefix of the element, or null
if no prefix is specified.NonDocumentTypeChildNode.previousElementSibling
Read only
Element
, the element immediately preceding the given one in the tree, or null
if there is no sibling element.Element.scrollHeight
Read only
Number
representing the scroll view height of an element.Element.scrollLeft
Number
representing the left scroll offset of the element.Element.scrollLeftMax
Read only
Number
representing the maximum left scroll offset possible for the element.Element.scrollTop
Number
representing the top scroll offset the element.Element.scrollTopMax
Read only
Number
representing the maximum top scroll offset possible for the element.Element.scrollWidth
Read only
Number
representing the scroll view width of the element.Element.shadowRoot
Read only
Element.slot
Element.tabStop
Boolean
indicating if the element can receive input focus via the tab key.Element.tagName
Read only
String
with the name of the tag for the given element.Element.undoManager
Read only
UndoManager
associated with the element.Element.undoScope
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.
Element.ongotpointercapture
gotpointercapture
event type.Element.onlostpointercapture
lostpointercapture
event type.Element.onwheel
wheel
event. This is now implemented on GlobalEventHandlers
.
Inherits methods from its parents Node
, and its own parent, EventTarget
, and implements those of ParentNode
, ChildNode
, NonDocumentTypeChildNode
, and Animatable
.
EventTarget.addEventListener()
Element.attachShadow()
ShadowRoot
.Element.animate()
Element.closest()
Element
which is the closest ancestor of the current element (or the current element itself) which matches the selectors given in parameter.Element.createShadowRoot()
ShadowRoot
.EventTarget.dispatchEvent()
Boolean
that indicates whether no handler canceled the event.Element.getAnimations()
Element.getAttribute()
Object
.Element.getAttributeNames()
Element.getAttributeNS()
Object
.Element.getAttributeNode()
Attr
.Element.getAttributeNodeNS()
Attr
.Element.getBoundingClientRect()
Element.getClientRects()
Element.getElementsByClassName()
HTMLCollection
that contains all descendants of the current element that possess the list of classes given in the parameter.Element.getElementsByTagName()
HTMLCollection
containing all descendant elements, of a particular tag name, from the current element.Element.getElementsByTagNameNS()
HTMLCollection
containing all descendant elements, of a particular tag name and namespace, from the current element.Element.hasAttribute()
Boolean
indicating if the element has the specified attribute or not.Element.hasAttributeNS()
Boolean
indicating if the element has the specified attribute, in the specified namespace, or not.Element.hasAttributes()
Boolean
indicating if the element has one or more HTML attributes present.Element.insertAdjacentElement
Element.insertAdjacentHTML
Element.insertAdjacentText
Element.matches()
Boolean
indicating whether or not the element would be selected by the specified selector string.Element.querySelector()
Node
which matches the specified selector string relative to the element.Element.querySelectorAll()
NodeList
of nodes which match the specified selector string relative to the element.Element.releasePointerCapture()
pointer event
.ChildNode.remove()
Element.removeAttribute()
Element.removeAttributeNS()
Element.removeAttributeNode()
EventTarget.removeEventListener()
Element.requestFullscreen()
Element.requestPointerLock()
Element.scrollIntoView()
Element.setAttribute()
Element.setAttributeNS()
Element.setAttributeNode()
Element.setAttributeNodeNS()
Element.setCapture()
Element.setPointerCapture()
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. | Editor's Draft | Added the following event handlers: ongotpointercapture and onlostpointercapture .Added the following methods: setPointerCapture() and releasePointerCapture() . |
Pointer Events The definition of 'Element' in that specification. | Recommendation | 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() , 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 | Removed the following methods: closest() , setIdAttribute() , setIdAttributeNS() , and setIdAttributeNode() .Removed the schemaTypeInfo property.Modified the return value of getElementsByTag() and getElementsByTagNS() .Moved hasAttributes() from the Node interface to this one.Inserted insertAdjacentElement() and insertAdjacentText() . |
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. |
Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|---|
Basic support | 1.0 | (Yes) | 1.0 (1.7 or earlier) | (Yes) | (Yes) | 1.0 |
children | (Yes) | (Yes) | 3.0 (1.9) | 7.0 with a significant bug [1] 9.0 according to the spec | (Yes) | No support |
childElementCount , nextElementSibling , previousElementSibling
| (Yes) | (Yes) | 3.5 (1.9.1) | 9.0 | (Yes) | (Yes) |
firstElementChild , lastElementChild
| (Yes) | (Yes) | 3.0 (1.9) | 9.0 | (Yes) | (Yes) |
classList | (Yes) | (Yes) | 3.6 (1.9.2) | (Yes) | (Yes) | |
outerHTML
| (Yes) | (Yes) | 11 (11) | (Yes) | (Yes) | (Yes) |
clientLeft , clientTop
| (Yes) | (Yes) | 3.5 (1.9.1) | (Yes) | (Yes) | (Yes) |
getBoundingClientRect() , getClientRects()
| (Yes) | (Yes) | 3.0 (1.9) | (Yes) | (Yes) | (Yes) |
querySelector() , querySelectorAll()
| 1.0 | (Yes) | 3.5 (1.9.1) | 8.0 | 10.0 | 3.2 (525.3) |
insertAdjacentHTML()
| 1.0 | (Yes) | 8 (8) | 4.0 | 7.0 | 4.0 (527) |
setCapture()
| No support | No support | 4.0 (2) | No support | No support | No support |
oncopy , oncut , onpaste
| No support | No support | 3.0 (1.9) | (Yes) | No support | |
onwheel
| No support | (Yes) | 17 (17) | No support | No support | No support |
ongotpointercapture , onlostpointercapture , setPointerCapture() , and releasePointerCapture()
| 52.0 [4] | (Yes) | (Yes) [3] | 10.0 | No support | No support |
matches()
|
(Yes) with the non-standard name webkitMatchesSelector
| (Yes) webkit ms |
3.6 (1.9.2) with the non-standard name mozMatchesSelector 34 (34) with the standard name | 9.0 with the non-standard name msMatchesSelector
| 11.5 with the non-standard name oMatchesSelector 15.0 with the non-standard name webkitMatchesSelector
| 5.0 with the non-standard name webkitMatchesSelector
|
requestPointerLock() | 16.0 webkit, behind an about:flags 22.0 webkit (with special cases, progressively lifted see [2]) | (Yes) | 14 (14)moz | No support | No support | No support |
requestFullscreen() | 14.0 webkit | (Yes) | 10 (10) moz | 11.0 ms | 12.10 15.0 webkit | 5.1 webkit |
undoManager and undoScope
| No support | No support |
(Yes) (behind the dom.undo_manager.enabled pref) | No support | No support | No support |
attributes | ? | No support |
22 (22) Before this it was available via the Node interface that any element inherits. | ? | ? | ? |
scrollTopMax() and scrollLeftMax()
| No support | No support | 16 (16) | No support | No support | No support |
closest() | ? | (Yes) | 35 (35) | ? | ? | ? |
hasAttributes() | (Yes) | No support | 1.0 (1.7 or earlier) (on the Node interface)35 (35) (on this interface | (Yes) | (Yes) | (Yes) |
insertAdjacentElement() , insertAdjacentText()
| (Yes) | No support | 48.0 (48.0) | ? | (Yes) | (Yes) |
assignedSlot , attatchShadow , shadowRoot , and slot
| 53 | No support | ? | ? | ? | ? |
computedRole and computedName
| 41[4] | ? | ? | ? | 28[4] | ? |
Feature | Android | Android Webview | Edge | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile | Chrome for Android |
---|---|---|---|---|---|---|---|---|
Basic support | 1.0 | (Yes) | 1.0 (1) | (Yes) | (Yes) | 1.0 | ||
scrollTopMax() and scrollLeftMax()
| No support | No support | 16.0 (16) | No support | No support | No support | ||
closest() | ? | (Yes) | 35.0 (35) | ? | ? | ? | ||
hasAttributes() | (Yes) | No support | 1.0 (1.0) (on the Node interface)35.0 (35) (on this interface | (Yes) | (Yes) | (Yes) | ||
insertAdjacentElement() , insertAdjacentText()
| (Yes) | (Yes) | 48.0 (48.0) | ? | (Yes) | (Yes) | ||
assignedSlot , attatchShadow , shadowRoot , and slot
| No support | 53.0 | No support | ? | ? | ? | ? | 53 |
computedRole and computedName
| No support | No support | ? | ? | ? | 28[4] | ? | No support |
[1] Internet Explorer 7 and 8 incorrectly return the comments as part of the children of an Element. This is fixed in Internet Explorer 9 and later.
[2] Chrome 16 allowed webkitRequestPointerLock()
only in fullscreen; Chrome 21 for trusted web site (permission asked); Chrome 22 allowed it by default for all same-origin document; Chrome 23 allowed it in sandboxed <iframe>
if the non-standard value webkit-allow-pointer-lock
is set to the sandbox
attribute.
[3] Implementation withdrawn. See bug 1166347.
[4] Behind a flag.
© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/element