W3cubDocs

/DOM

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, or null 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, or null if no prefix is specified.
NonDocumentTypeChildNode.previousElementSibling Read only
Is a Element, the element immediately preceding the given one in the tree, or null 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.shadowRootRead 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.assignedSlotRead 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 on GlobalEventHandlers.

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 to CSSStyleDeclaration.
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.
Working 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(), 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 compatibilityUpdate compatibility data on GitHub

Desktop
Chrome Edge Firefox Internet Explorer Opera Safari
Basic support 1 Yes 1 Yes Yes Yes
accessKey No
No
Implemented on HTMLElement.
? ? ? No
No
Implemented on HTMLElement.
?
animate 36 No 48 No 23 No
attachShadow 53 No
No
Under consideration
63
63
59
Disabled
See bug 1205323
Disabled From version 59: this feature is behind the dom.webcomponents.shadowdom.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
No 40 10
attributes 26 No 22 ? ? ?
classList 8 16
16
12
Not supported for SVG elements.
3.6 10 Yes 5.1
className Yes Yes Yes Yes Yes Yes
clientHeight Yes Yes Yes 6 Yes Yes
clientLeft Yes ? ? ? Yes ?
clientTop Yes ? ? ? Yes ?
clientWidth Yes Yes Yes 6 Yes Yes
closest 41 15 35 No 28 9
computedStyleMap 66 No No No 53 No
createShadowRoot 35
35
In Chrome 45, the ability to have multiple shadow roots was deprecated.
25 — ?
Prefixed
Prefixed Implemented with the vendor prefix: webkit
No 59 — 61
Disabled
59 — 61
Disabled
Disabled From version 59 until version 61 (exclusive): this feature is behind the dom.webcomponents.shadowdom.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
29 — 59
Disabled
Disabled From version 29 until version 59 (exclusive): this feature is behind the dom.webcomponents.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
No 22
22
In Opera 32, the ability to have multiple shadow roots was deprecated.
15 — ?
Prefixed
Prefixed Implemented with the vendor prefix: webkit
No
currentStyle No No No 6 No No
getAttribute 29 Yes 23 Yes Yes 6
getAttributeNS Yes Yes Yes
Yes
Starting in Firefox 13, null is always returned instead of the empty string, as per the DOM4 specification. Previously, there were cases in which an empty string could be returned.
Yes Yes Yes
getAttributeNames 61 18 45 No 48 9
getAttributeNode Yes ? ? ? Yes ?
getAttributeNodeNS Yes ? ? ? Yes ?
getBoundingClientRect Yes Yes 3 4 Yes 4
getClientRects Yes ? ? ? Yes ?
getElementsByClassName Yes ? Yes
Yes
Prior to Firefox 19, this method was returning a NodeList; it was then changed to reflect the change in the spec.
9 Yes Yes
Yes
Safari on iOS 8 and OS X 10.10 returns a NodeList.
getElementsByTagName 1
1
Initially, this method was returning a NodeList; it was then changed to reflect the spec change.
Yes Yes
Yes
Prior to Firefox 19, this method was returning a NodeList; it was then changed to reflect the change in the spec.
5.5 Yes
Yes
Initially, this method was returning a NodeList; it was then changed to reflect the spec change.
Yes
Yes
Initially, this method was returning a NodeList; it was then changed to reflect the spec change.
getElementsByTagNameNS 1
1
Initially, this method was returning a NodeList; it was then changed to reflect the spec change.
Yes Yes
Yes
The behavior of element.getElementsByTagNameNS changed between Firefox 3.5 and Firefox 3.6. In Firefox 3.5 and before, this function would automatically case-fold any queries so that a search for "foo" would match "Foo" or "foo". In Firefox 3.6 and later this function is now case-sensitive so that a query for "foo" will only match "foo" and not "Foo". For more background on this, please see the comment from Henri Sivonen about the change. You can also look at the relevant part of the standard, which states which parts of the API are case-sensitive and which parts aren't.
Prior to Firefox 19, this method was returning a NodeList; it was then changed to reflects the spec change.
5.5 Yes
Yes
Initially, this method was returning a NodeList; it was then changed to reflect the spec change.
Yes
Yes
Initially, this method was returning a NodeList; it was then changed to reflect the spec change.
hasAttribute Yes Yes Yes Yes Yes Yes
hasAttributeNS Yes ? ? ? Yes ?
hasAttributes Yes ? Yes
Yes
[1] Before Firefox 35, it was implemented on the Node interface.
9 Yes Yes
id Yes Yes Yes Yes Yes Yes
innerHTML 1 12 1 4 7 Yes
insertAdjacentElement 1 12 48 Yes Yes Yes
insertAdjacentHTML 1 12 8 4
4
Before Internet Explorer 10, throws an "Invalid target element for this operation." error when called on a <table>, <tbody>, <thead>, or <tr> element.
7 4
insertAdjacentText 1 12 48 Yes Yes Yes
localName 46
46
This API was previously available on theNode API.
? 48
48
This API was previously available on theNode API.
? Yes ?
matches 34
34
Yes
Uses the non-standard name: webkitMatchesSelector
Yes
Yes
Yes
Uses the non-standard name: webkitMatchesSelector
Yes
Uses the non-standard name: msMatchesSelector
34
34
44
Uses the non-standard name: webkitMatchesSelector
3.6
Prior to Firefox 4, invalid selector strings caused false to be returned instead of throwing an exception.
See bug 1119718 for removal.
Uses the non-standard name: mozMatchesSelector
9
9
Uses the non-standard name: msMatchesSelector
21
21
15
Uses the non-standard name: webkitMatchesSelector
11.5 — 15
Uses the non-standard name: oMatchesSelector
7
7
5
Uses the non-standard name: webkitMatchesSelector
name No ? ? ? No ?
namespaceURI 46
46
This API was previously available on theNode API.
? 48
48
This API was previously available on theNode API.
? Yes
Yes
This API was previously available on theNode API.
?
openOrClosedShadowRoot No No 63
63
Available only to WebExtensions.
No No No
onfullscreenchange 57 ? 64 ? ? ?
onfullscreenerror 57 ? 64 ? ? ?
ongotpointercapture 55 ? 59
59
41
Disabled
Disabled From version 41: this feature is behind the dom.w3c_pointer_events.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
11
11
10
Prefixed
Prefixed Implemented with the vendor prefix: ms
42 No
onlostpointercapture 55 ? 59
59
41
Disabled
Disabled From version 41: this feature is behind the dom.w3c_pointer_events.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
11
11
10
Prefixed
Prefixed Implemented with the vendor prefix: ms
42 No
outerHTML Yes Yes 11 4 7 1.3
prefix 46
46
This API was previously available on theNode API.
Yes 48
48
This API was previously available on theNode API.
? Yes ?
querySelector 1 12 3.5 9
9
8
querySelector() is supported, but only for CSS 2.1 selectors.
Yes Yes
querySelectorAll 1 Yes 3.5 9
9
8
querySelectorAll() is supported, but only for CSS 2.1 selectors.
10 3.2
releasePointerCapture 55 ? 59
59
41
Disabled
Disabled From version 41: this feature is behind the dom.w3c_pointer_events.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
11
11
10
Prefixed
Prefixed Implemented with the vendor prefix: ms
42 No
removeAttribute Yes ? ? ? Yes ?
removeAttributeNS Yes ? ? ? Yes ?
removeAttributeNode Yes ? ? ? Yes ?
requestFullscreen 15
Prefixed
15
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Yes
Prefixed
Yes
Prefixed
Prefixed Implemented with the vendor prefix: webkit
64
64
47
Disabled
Disabled From version 47: this feature is behind the full-screen-api.unprefix.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
9
Before Firefox 44, Firefox incorrectly allowed elements inside a <frame> or an <object> to request, and to be granted, fullscreen. In Firefox 44 and onwards this has been fixed: only elements in the top-level document or in an <iframe> with the allowfullscreen attribute can be displayed fullscreen.
Uses the non-standard name: mozRequestFullScreen
11
Prefixed
11
Prefixed
Prefixed Implemented with the vendor prefix: ms
15
Prefixed
15
Prefixed
Prefixed Implemented with the vendor prefix: webkit
12 — 15
Prefixed
Prefixed Implemented with the vendor prefix: o
Yes
Prefixed
Yes
Prefixed
Prefixed Implemented with the vendor prefix: webkit
requestPointerLock Yes
Yes
Yes
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Yes 50
50
Yes
Prefixed
Prefixed Implemented with the vendor prefix: moz
? ? ?
runtimeStyle No No No 6 No No
scrollIntoView 29 12
12
No support for smooth behavior.
1 8
8
No support for smooth behavior or center options.
38 5
5
No support for smooth behavior or center options.
scrollIntoViewIfNeeded Yes No No No Yes Yes
scrollHeight 4 Yes 21
21
3 — 21
In Firefox versions prior to 21, when an element's content does not generate a vertical scrollbar, then its scrollHeight property is equal to its clientHeight property. This can mean either the content is too short to require a scrollbar or that the element has a CSS style overflow value of visible (non-scrollable).
8 Yes 4
scrollLeft Yes Yes Yes Yes Yes Yes
scrollLeftMax No No 16 No No No
scrollTop Yes Yes Yes Yes Yes Yes
scrollTopMax No No 16 No No No
scrollWidth Yes ? ? ? Yes ?
setAttribute Yes ? ? ? Yes ?
setAttributeNS Yes ? ? ? Yes ?
setAttributeNode Yes ? ? ? Yes ?
setAttributeNodeNS ? Yes
Yes
Returns a ClientRectList with ClientRect objects (which do not contain x and y properties) instead of DOMRect objects.
Yes Yes
Yes
Returns a ClientRectList with ClientRect objects (which do not contain x and y properties) instead of DOMRect objects.
? ?
setCapture No ? ? ? No ?
setPointerCapture 55 ? 59
59
41
Disabled
Disabled From version 41: this feature is behind the dom.w3c_pointer_events.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
11
11
10
Prefixed
Prefixed Implemented with the vendor prefix: ms
42 No
shadowRoot 53 No
No
Under consideration
63
63
59
Disabled
See bug 1205323
Disabled From version 59: this feature is behind the dom.webcomponents.shadowdom.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
No 40 Yes
slot 53 ? ? ? ? ?
tabStop 43 ? ? ? ? ?
tagName Yes Yes Yes Yes Yes Yes
toggleAttribute 69 18 63 ? 56 ?
Mobile
Android webview Chrome for Android Edge Mobile Firefox for Android Opera for Android iOS Safari Samsung Internet
Basic support Yes 18 Yes 4 Yes Yes Yes
accessKey No
No
Implemented on HTMLElement.
No
No
Implemented on HTMLElement.
? ? No
No
Implemented on HTMLElement.
? ?
animate 37 36 ? 48 23 ? ?
attachShadow 53 53 No
No
Under consideration
63
63
59
Disabled
See bug 1205323
Disabled From version 59: this feature is behind the dom.webcomponents.shadowdom.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
40 10 ?
attributes Yes Yes ? 22 ? ? ?
classList Yes Yes 12 Yes ? 5 ?
className Yes Yes Yes Yes Yes Yes Yes
clientHeight Yes Yes Yes Yes Yes Yes Yes
clientLeft Yes Yes ? ? Yes ? ?
clientTop Yes Yes ? ? Yes ? ?
clientWidth Yes Yes Yes Yes Yes Yes Yes
closest ? ? ? 35 ? 9 ?
computedStyleMap 66 66 No No 53 No ?
createShadowRoot 37
37
In version 45, the ability to have multiple shadow roots was deprecated.
? — ?
Prefixed
Prefixed Implemented with the vendor prefix: webkit
35
35
In Chrome 45, the ability to have multiple shadow roots was deprecated.
25 — ?
Prefixed
Prefixed Implemented with the vendor prefix: webkit
No 59 — 61
Disabled
59 — 61
Disabled
Disabled From version 59 until version 61 (exclusive): this feature is behind the dom.webcomponents.shadowdom.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
29 — 59
Disabled
Disabled From version 29 until version 59 (exclusive): this feature is behind the dom.webcomponents.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
22
22
In Opera 32, the ability to have multiple shadow roots was deprecated.
14 — ?
Prefixed
Prefixed Implemented with the vendor prefix: webkit
No 5.0
5.0
4.0 — ?
Prefixed
Prefixed Implemented with the vendor prefix: webkit
currentStyle No No No No No No No
getAttribute ? ? ? 23 ? ? ?
getAttributeNS Yes Yes Yes Yes Yes Yes Yes
getAttributeNames 61 61 ? 45 48 ? ?
getAttributeNode Yes Yes ? ? Yes ? ?
getAttributeNodeNS Yes Yes ? ? Yes ? ?
getBoundingClientRect Yes Yes Yes 4 Yes 4
4
Safari for iOS will modify the effective viewport based on the user zoom. This results in incorrect values whenever the user has zoomed.
?
getClientRects Yes Yes ? ? Yes ? ?
getElementsByClassName ? ? ? ? ? ? ?
getElementsByTagName Yes ? Yes Yes
Yes
Prior to Firefox 19, this method was returning a NodeList; it was then changed to reflect the change in the spec.
Yes Yes Yes
getElementsByTagNameNS Yes ? Yes Yes
Yes
The behavior of element.getElementsByTagNameNS changed between Firefox 3.5 and Firefox 3.6. In Firefox 3.5 and before, this function would automatically case-fold any queries so that a search for "foo" would match "Foo" or "foo". In Firefox 3.6 and later this function is now case-sensitive so that a query for "foo" will only match "foo" and not "Foo". For more background on this, please see the comment from Henri Sivonen about the change. You can also look at the relevant part of the standard, which states which parts of the API are case-sensitive and which parts aren't.
Prior to Firefox 19, this method was returning a NodeList; it was then changed to reflects the spec change.
Yes Yes ?
hasAttribute Yes Yes Yes Yes Yes Yes Yes
hasAttributeNS Yes Yes ? ? Yes ? ?
hasAttributes ? ? ? ? ? ? ?
id Yes Yes Yes Yes Yes Yes Yes
innerHTML Yes 18 12 4 Yes 1 1.0
insertAdjacentElement 2.3 18 12 48 Yes Yes Yes
insertAdjacentHTML 2.3 18 12 8 Yes 4 Yes
insertAdjacentText 2.3 18 12 48 Yes Yes Yes
localName ? ? ? 48
48
This API was previously available on theNode API.
? ? ?
matches Yes
Yes
Yes
Uses the non-standard name: webkitMatchesSelector
34
34
Yes
Uses the non-standard name: webkitMatchesSelector
Yes
Yes
Yes
Uses the non-standard name: webkitMatchesSelector
Yes
Uses the non-standard name: msMatchesSelector
34
34
44
Uses the non-standard name: webkitMatchesSelector
4
See bug 1119718 for removal.
Uses the non-standard name: mozMatchesSelector
21
21
15
Uses the non-standard name: webkitMatchesSelector
11.5 — 15
Uses the non-standard name: oMatchesSelector
8
8
Yes
Uses the non-standard name: webkitMatchesSelector
Yes
Yes
Yes
Uses the non-standard name: webkitMatchesSelector
name No No ? ? No ? ?
namespaceURI ? ? ? Yes ? ? ?
openOrClosedShadowRoot No No No 63
63
Available only to WebExtensions.
No No No
onfullscreenchange 57 57 ? 64 ? ? ?
onfullscreenerror 57 57 ? 64 ? ? ?
ongotpointercapture 55 55 ? No
No
41
Disabled
Disabled From version 41: this feature is behind the dom.w3c_pointer_events.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
42 No ?
onlostpointercapture 55 55 ? No
No
41
Disabled
Disabled From version 41: this feature is behind the dom.w3c_pointer_events.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
42 No ?
outerHTML Yes Yes Yes Yes Yes Yes Yes
prefix ? ? Yes 48
48
This API was previously available on theNode API.
? ? ?
querySelector Yes Yes Yes Yes Yes Yes Yes
querySelectorAll Yes Yes Yes Yes ? Yes Yes
releasePointerCapture 55 55 ? No
No
41
Disabled
Disabled From version 41: this feature is behind the dom.w3c_pointer_events.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
42 No ?
removeAttribute Yes Yes ? ? Yes ? ?
removeAttributeNS Yes Yes ? ? Yes ? ?
removeAttributeNode Yes Yes ? ? Yes ? ?
requestFullscreen Yes
Prefixed
Yes
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Yes
Prefixed
Yes
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Yes
Prefixed
Yes
Prefixed
Prefixed Implemented with the vendor prefix: webkit
64
64
47
Disabled
Disabled From version 47: this feature is behind the full-screen-api.unprefix.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
9
Before Firefox 44, Firefox incorrectly allowed elements inside a <frame> or an <object> to request, and to be granted, fullscreen. In Firefox 44 and onwards this has been fixed: only elements in the top-level document or in an <iframe> with the allowfullscreen attribute can be displayed fullscreen.
Uses the non-standard name: mozRequestFullScreen
14
Prefixed
14
Prefixed
Prefixed Implemented with the vendor prefix: webkit
12 — 14
Prefixed
Prefixed Implemented with the vendor prefix: o
Yes
Prefixed
Yes
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Yes
Prefixed
Yes
Prefixed
Prefixed Implemented with the vendor prefix: webkit
requestPointerLock Yes
Yes
Yes
Prefixed
Prefixed Implemented with the vendor prefix: webkit
? Yes ? ? ? ?
runtimeStyle No No No No No No No
scrollIntoView Yes Yes ? 4 Yes 5
5
No support for smooth behavior or center options.
?
scrollIntoViewIfNeeded Yes Yes No No Yes Yes ?
scrollHeight Yes Yes Yes Yes Yes 4 Yes
scrollLeft Yes Yes Yes Yes Yes Yes Yes
scrollLeftMax No No No 16 No No No
scrollTop Yes Yes Yes Yes Yes Yes Yes
scrollTopMax No No No 16 No No No
scrollWidth Yes Yes ? ? Yes ? ?
setAttribute Yes Yes ? ? Yes ? ?
setAttributeNS Yes Yes ? ? Yes ? ?
setAttributeNode Yes Yes ? ? Yes ? ?
setAttributeNodeNS ? ? ? ? ? ? ?
setCapture No No ? ? No ? ?
setPointerCapture 55 55 ? No
No
41
Disabled
Disabled From version 41: this feature is behind the dom.w3c_pointer_events.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
42 No ?
shadowRoot 53 53 No
No
Under consideration
63
63
59
Disabled
See bug 1205323
Disabled From version 59: this feature is behind the dom.webcomponents.shadowdom.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
40 Yes ?
slot 53 53 ? ? ? ? ?
tabStop ? 43 ? ? ? ? ?
tagName ? ? Yes Yes ? ? ?
toggleAttribute 69 69 ? 63 56 ? ?

© 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