Element

ElementDocument 안의 모든 객체가 상속하는 제일 범용적인 기반 클래스로 공통 메서드와 속성만 가지고 있으며, 특정 요소를 더 상세하게 표현하는 클래스가 Element를 상속합니다. 예를 들어 HTMLElement 인터페이스는 HTML 요소의 기반 인터페이스이고 SVGElement 인터페이스는 모든 SVG 요소의 기초입니다.

XUL의 XULElement처럼 웹 플랫폼 밖에서도 Element를 구현합니다.

속성

부모 인터페이스인 Node와 그 부모인 EventTarget의 속성을 상속합니다. ParentNode, ChildNode, NonDocumentTypeChildNodeAnimatable의 속성을 구현합니다.

Element.attributes Read only
HTML 요소에 할당한 속성을 담은 NamedNodeMap 객체를 반환합니다.
Element.classList Read only
요소의 클래스 속성 리스트를 담은 DOMTokenList를 반환합니다.
Element.className
요소의 클래스를 나타내는 DOMString을 반환합니다.
Element.clientHeight Read only
요소의 안쪽 높이를 나타내는 Number를 반환합니다.
Element.clientLeft Read only
요소의 왼쪽 테두리 너비를 나타내는 Number를 반환합니다.
Element.clientTop Read only
요소의 위쪽 테두리 너비를 나타내는 Number를 반환합니다.
Element.clientWidth Read only
요소의 안쪽 너비를 나타내는 Number를 반환합니다.
Element.computedName Read only
요소가 노출하는 접근성 라벨을 포함한 DOMString을 반환합니다.
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.

참고: Firefox 3.5 이하에서는 HTML 요소가 네임스페이스에 속해있지 않습니다. 이후 버전에서는 HTML과 XML 트리 모두에서 http://www.w3.org/1999/xhtml 네임스페이스를 사용합니다.

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 명세는 namespaceURI, localName, prefixNode에 정의했고, DOM4에서 Element로 옮겨졌습니다.

이 변경점은 Chrome 46.0과 Firefox 48.0부터 구현됐습니다.

Slotable 속성

Element 인터페이스는 Slotable 믹스인에 정의된 다음 속성을 가집니다.

Slotable.assignedSlotRead only
Returns a HTMLSlotElement representing the <slot> the node is inserted in.

이벤트 처리기

Element.ongotpointercapture
Returns the event handler for the gotpointercapture event type.
Element.onlostpointercapture
Returns the event handler for the lostpointercapture event type.

메서드

부모 인터페이스인 Node와 그 부모인 EventTarget의 메서드를 상속합니다. ParentNode, ChildNode, NonDocumentTypeChildNodeAnimatable의 메서드를 구현합니다.

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.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.
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.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.

 

명세

Specification Status Comment
Web Animations Working Draft Added the getAnimationPlayers() method.
UndoManager and DOMTransaction
The definition of 'Element' in that specification.
Editor's Draft Added the undoScope and undoManager properties.
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 2
The definition of 'Element' in that specification.
Obsolete Added the following methods: matches() (implemented as mozMatchesSelector()), find(), findAll().
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() form the Node interface to this one.
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.

브라우저 호환성

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
ElementChrome Full support 1Edge Full support 12Firefox Full support 1IE Full support YesOpera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support 18Firefox Android Full support 4Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
DOMActivate event
DeprecatedNon-standard
Chrome Full support YesEdge No support NoFirefox Full support YesIE No support NoOpera No support NoSafari Full support YesWebView Android ? Chrome Android Full support YesFirefox Android Full support YesOpera Android No support NoSafari iOS ? Samsung Internet Android ?
DOMMouseScroll event
DeprecatedNon-standard
Chrome No support NoEdge No support NoFirefox Full support 1IE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android Full support 4Opera Android No support NoSafari iOS No support NoSamsung Internet Android No support No
MozMousePixelScroll event
DeprecatedNon-standard
Chrome No support NoEdge Full support YesFirefox Full support YesIE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android Full support YesOpera Android No support NoSafari iOS No support NoSamsung Internet Android No support No
MSGestureChange event
Non-standard
Chrome No support NoEdge Full support YesFirefox No support NoIE Full support 10Opera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android No support NoOpera Android No support NoSafari iOS No support NoSamsung Internet Android No support No
MSGestureEnd event
Non-standard
Chrome No support NoEdge Full support YesFirefox No support NoIE Full support 10Opera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android No support NoOpera Android No support NoSafari iOS No support NoSamsung Internet Android No support No
MSGestureHold event
Non-standard
Chrome No support NoEdge Full support YesFirefox No support NoIE Full support 10Opera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android No support NoOpera Android No support NoSafari iOS No support NoSamsung Internet Android No support No
MSGestureStart event
Non-standard
Chrome No support NoEdge Full support YesFirefox No support NoIE Full support 10Opera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android No support NoOpera Android No support NoSafari iOS No support NoSamsung Internet Android No support No
MSGestureTap event
Non-standard
Chrome No support NoEdge Full support YesFirefox No support NoIE Full support 10Opera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android No support NoOpera Android No support NoSafari iOS No support NoSamsung Internet Android No support No
MSInertiaStart event
Non-standard
Chrome No support NoEdge Full support YesFirefox No support NoIE Full support 10Opera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android No support NoOpera Android No support NoSafari iOS No support NoSamsung Internet Android No support No
MSManipulationStateChanged event
Non-standard
Chrome No support NoEdge Full support YesFirefox No support NoIE Full support YesOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android No support NoOpera Android No support NoSafari iOS No support NoSamsung Internet Android No support No
accessKeyChrome No support No
Notes
No support No
Notes
Notes Implemented on HTMLElement.
Edge ? Firefox ? IE ? Opera No support No
Notes
No support No
Notes
Notes Implemented on HTMLElement.
Safari ? WebView Android No support No
Notes
No support No
Notes
Notes Implemented on HTMLElement.
Chrome Android No support No
Notes
No support No
Notes
Notes Implemented on HTMLElement.
Firefox Android ? Opera Android No support No
Notes
No support No
Notes
Notes Implemented on HTMLElement.
Safari iOS ? Samsung Internet Android ?
afterscriptexecute event
Non-standard
Chrome No support NoEdge ? Firefox Full support 2IE ? Opera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android Full support 4Opera Android No support NoSafari iOS No support NoSamsung Internet Android ?
animate
Experimental
Chrome Full support 36Edge No support NoFirefox Full support 48IE No support NoOpera Full support 23Safari No support NoWebView Android Full support 37Chrome Android Full support 36Firefox Android Full support 48Opera Android Full support 24Safari iOS ? Samsung Internet Android Full support Yes
attachShadowChrome Full support 53Edge No support No
Notes
No support No
Notes
Notes Under consideration
Firefox Full support 63
Full support 63
No support 59 — 63
Disabled
Disabled From version 59 until version 63 (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.
IE No support NoOpera Full support 40Safari Full support 10WebView Android Full support 53Chrome Android Full support 53Firefox Android Full support 63
Full support 63
No support 59 — 63
Disabled
Disabled From version 59 until version 63 (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.
Opera Android Full support 41Safari iOS Full support 10Samsung Internet Android Full support Yes
attributesChrome Full support 26Edge Full support 16Firefox Full support 22IE ? Opera Full support YesSafari Full support 6WebView Android Full support YesChrome Android Full support YesFirefox Android Full support 22Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
attributeStyleMapChrome Full support 66Edge ? Firefox ? IE ? Opera ? Safari ? WebView Android Full support 66Chrome Android Full support 66Firefox Android ? Opera Android ? Safari iOS ? Samsung Internet Android ?
auxclick eventChrome Full support 55Edge ? Firefox Full support 53
Notes
Full support 53
Notes
Notes Starting in Firefox 68, the auxclick event is used to trigger the new tab on middle-click action; previously, this had been done with the click event. Apps can prevent middle-click from opening new tabs (or middle-click to paste, if that feature is enabled) by intercepting auxclick on links, and auxclick event handlers can now open popups without triggering the popup blocker.
IE No support NoOpera Full support 42Safari No support NoWebView Android Full support 55Chrome Android Full support 55Firefox Android Full support 53Opera Android Full support 42Safari iOS No support NoSamsung Internet Android ?
beforescriptexecute event
Non-standard
Chrome No support NoEdge ? Firefox Full support 2IE ? Opera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android Full support 4Opera Android No support NoSafari iOS No support NoSamsung Internet Android ?
blur eventChrome Full support 5Edge Full support YesFirefox Full support Yes
Full support Yes
No support ? — 24
Notes
Notes The interface for this event is Event, not FocusEvent.
IE Full support YesOpera Full support 12.1Safari Full support 5.1WebView Android Full support YesChrome Android Full support 18Firefox Android Full support YesOpera Android Full support 12.1Safari iOS Full support 5.1Samsung Internet Android Full support Yes
classListChrome Full support 8Edge Full support 16
Full support 16
Partial support 12
Notes
Notes Not supported for SVG elements.
Firefox Full support 3.6IE Partial support 10
Notes
Partial support 10
Notes
Notes Not supported for SVG elements.
Opera Full support YesSafari Full support 6WebView Android Full support YesChrome Android Full support YesFirefox Android Full support YesOpera Android Full support YesSafari iOS Full support 5Samsung Internet Android Full support Yes
classNameChrome Full support 43Edge Full support 13Firefox Full support YesIE Full support YesOpera Full support YesSafari Full support 6WebView Android Full support 43Chrome Android Full support 43Firefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
click eventChrome Full support YesEdge Full support YesFirefox Full support Yes
Notes
Full support Yes
Notes
Notes Beginning in Firefox 68, Firefox no longer incorrectly sends a click event for buttons other than the primary mouse button; previouly, there were circumstances in which this would occur. One example: middle-clicking a link would send a click to the document's <html> element.
IE Full support YesOpera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesFirefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android ?
clientHeightChrome Full support 43Edge Full support 12Firefox Full support YesIE Full support 6Opera Full support YesSafari Full support 6WebView Android Full support 43Chrome Android Full support 43Firefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
clientLeftChrome Full support 43Edge Full support 12Firefox Full support YesIE ? Opera Full support YesSafari Full support 6WebView Android Full support 43Chrome Android Full support 43Firefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
clientTopChrome Full support 43Edge Full support 12Firefox Full support YesIE ? Opera Full support YesSafari Full support 6WebView Android Full support 43Chrome Android Full support 43Firefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
clientWidthChrome Full support 43Edge Full support 12Firefox Full support YesIE Full support 6Opera Full support YesSafari Full support 6WebView Android Full support 43Chrome Android Full support 43Firefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
closestChrome Full support 41Edge Full support 15Firefox Full support 35IE No support NoOpera Full support 28Safari Full support 6WebView Android Full support 41Chrome Android Full support 41Firefox Android Full support 35Opera Android Full support YesSafari iOS Full support 9Samsung Internet Android Full support Yes
compositionend eventChrome Full support YesEdge Full support YesFirefox Full support 9IE Full support YesOpera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesFirefox Android Full support YesOpera Android ? Safari iOS ? Samsung Internet Android ?
compositionstart eventChrome Full support YesEdge Full support YesFirefox Full support 9IE Full support YesOpera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesFirefox Android Full support YesOpera Android ? Safari iOS ? Samsung Internet Android ?
compositionupdate eventChrome Full support YesEdge Full support YesFirefox Full support 9IE Full support YesOpera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesFirefox Android Full support YesOpera Android ? Safari iOS ? Samsung Internet Android ?
computedStyleMap
Experimental
Chrome Full support 66Edge No support NoFirefox No support NoIE No support NoOpera Full support 53Safari No support NoWebView Android Full support 66Chrome Android Full support 66Firefox Android No support NoOpera Android Full support 47Safari iOS No support NoSamsung Internet Android Full support Yes
contextmenu eventChrome Full support YesEdge Full support YesFirefox Full support YesIE ? Opera ? Safari ? WebView Android No support NoChrome Android No support NoFirefox Android ? Opera Android ? Safari iOS ? Samsung Internet Android ?
copy eventChrome Full support 58Edge Full support YesFirefox Full support YesIE No support NoOpera Full support 45Safari Full support YesWebView Android Full support 58Chrome Android Full support 58Firefox Android Full support YesOpera Android Full support 43Safari iOS ? Samsung Internet Android ?
createShadowRoot
DeprecatedNon-standard
Chrome Full support 35
Notes
Full support 35
Notes
Notes In Chrome 45, the ability to have multiple shadow roots was deprecated.
No support 25 — ?
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Edge No support NoFirefox No support 59 — 61
Disabled
No support 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.
No support 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.
IE No support NoOpera Full support 22
Notes
Full support 22
Notes
Notes In Opera 32, the ability to have multiple shadow roots was deprecated.
No support 15 — ?
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Safari No support NoWebView Android Full support 37
Notes
Full support 37
Notes
Notes In version 45, the ability to have multiple shadow roots was deprecated.
No support ? — ?
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Chrome Android Full support 35
Notes
Full support 35
Notes
Notes In Chrome 45, the ability to have multiple shadow roots was deprecated.
No support 25 — ?
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Firefox Android No support 59 — 61
Disabled
No support 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.
No support 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.
Opera Android Full support 22
Notes
Full support 22
Notes
Notes In Opera 32, the ability to have multiple shadow roots was deprecated.
No support 14 — ?
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Safari iOS No support NoSamsung Internet Android Full support 5.0
Full support 5.0
No support 4.0 — ?
Prefixed
Prefixed Implemented with the vendor prefix: webkit
currentStyle
Non-standard
Chrome No support NoEdge No support NoFirefox No support NoIE Full support 6Opera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android No support NoOpera Android No support NoSafari iOS No support NoSamsung Internet Android No support No
cut eventChrome Full support 58Edge Full support YesFirefox Full support YesIE No support NoOpera Full support 45Safari Full support YesWebView Android Full support 58Chrome Android Full support 58Firefox Android Full support YesOpera Android Full support 43Safari iOS ? Samsung Internet Android ?
dblclick eventChrome Full support YesEdge Full support YesFirefox Full support Yes
Notes
Full support Yes
Notes
Notes Starting in Firefox 68, dblclick events are only sent for the primary mouse button, per the specification.
IE Full support 11Opera ? Safari ? WebView Android No support NoChrome Android No support NoFirefox Android ? Opera Android ? Safari iOS ? Samsung Internet Android ?
error eventChrome Full support YesEdge ? Firefox Full support YesIE ? Opera ? Safari ? WebView Android Full support YesChrome Android Full support YesFirefox Android Full support YesOpera Android ? Safari iOS ? Samsung Internet Android ?
focus eventChrome Full support YesEdge Full support YesFirefox Full support Yes
Full support Yes
No support ? — 24
Notes
Notes The interface for this event is Event, not FocusEvent.
IE Full support YesOpera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesFirefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
focusin eventChrome Full support YesEdge Full support YesFirefox Full support 52IE Full support YesOpera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesFirefox Android Full support 52Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
focusout eventChrome Full support YesEdge Full support YesFirefox Full support 52IE Full support YesOpera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesFirefox Android Full support 52Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
fullscreenchange eventChrome Full support 57Edge ? Firefox Full support 64
Full support 64
No support 10 — 64
Alternate Name
Alternate Name Uses the non-standard name: mozfullscreenchange
IE ? Opera Full support 44Safari ? WebView Android Full support 57Chrome Android Full support 57Firefox Android Full support 64
Full support 64
No support 10 — 64
Alternate Name
Alternate Name Uses the non-standard name: mozfullscreenchange
Opera Android Full support 43Safari iOS ? Samsung Internet Android ?
fullscreenerror eventChrome Full support 57Edge ? Firefox Full support 64
Full support 64
No support 10 — 64
Alternate Name
Alternate Name Uses the non-standard name: mozfullscreenerror
IE ? Opera Full support 44Safari ? WebView Android Full support 57Chrome Android Full support 57Firefox Android Full support 64
Full support 64
No support 10 — 64
Alternate Name
Alternate Name Uses the non-standard name: mozfullscreenerror
Opera Android Full support 43Safari iOS ? Samsung Internet Android ?
gesturechange event
Non-standard
Chrome No support NoEdge No support NoFirefox No support NoIE No support NoOpera No support NoSafari Full support 9.1WebView Android No support NoChrome Android No support NoFirefox Android No support NoOpera Android No support NoSafari iOS Full support 2Samsung Internet Android No support No
gestureend event
Non-standard
Chrome No support NoEdge No support NoFirefox No support NoIE No support NoOpera No support NoSafari Full support 9.1WebView Android No support NoChrome Android No support NoFirefox Android No support NoOpera Android No support NoSafari iOS Full support 2Samsung Internet Android No support No
gesturestart event
Non-standard
Chrome No support NoEdge No support NoFirefox No support NoIE No support NoOpera No support NoSafari Full support 9.1WebView Android No support NoChrome Android No support NoFirefox Android No support NoOpera Android No support NoSafari iOS Full support 2Samsung Internet Android No support No
getAnimations
Experimental
Chrome No support NoEdge No support NoFirefox No support NoIE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android No support NoOpera Android No support NoSafari iOS No support NoSamsung Internet Android No support No
getAttributeChrome Full support 29Edge Full support 12Firefox Full support 23IE Full support YesOpera Full support YesSafari Full support 6WebView Android Full support YesChrome Android Full support YesFirefox Android Full support 23Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
getAttributeNamesChrome Full support 61Edge Full support 18Firefox Full support 45IE No support NoOpera Full support 48Safari Full support 10WebView Android Full support 61Chrome Android Full support 61Firefox Android Full support 45Opera Android Full support 45Safari iOS Full support YesSamsung Internet Android Full support Yes
getAttributeNodeChrome Full support YesEdge Full support 12Firefox Full support YesIE ? Opera Full support YesSafari Full support 6WebView Android Full support YesChrome Android Full support YesFirefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
getAttributeNodeNSChrome Full support YesEdge Full support 12Firefox Full support YesIE ? Opera Full support YesSafari Full support 6WebView Android Full support YesChrome Android Full support YesFirefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
getAttributeNSChrome Full support YesEdge Full support 12Firefox Full support Yes
Notes
Full support Yes
Notes
Notes 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.
IE Full support YesOpera Full support YesSafari Full support 6WebView Android Full support YesChrome Android Full support YesFirefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
getBoundingClientRectChrome Full support YesEdge Full support 12Firefox Full support 3IE Full support 4Opera Full support YesSafari Full support 6WebView Android Full support YesChrome Android Full support YesFirefox Android Full support 4Opera Android Full support YesSafari iOS Full support 4
Notes
Full support 4
Notes
Notes Safari for iOS will modify the effective viewport based on the user zoom. This results in incorrect values whenever the user has zoomed.
Samsung Internet Android Full support Yes
getClientRectsChrome Full support YesEdge Full support 12Firefox Full support YesIE ? Opera Full support YesSafari Full support 6WebView Android Full support YesChrome Android Full support YesFirefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
getElementsByClassNameChrome Full support YesEdge Full support 18
Full support 18
Full support 12
Notes
Notes This function is implemented in the HTMLElement API, meaning non-HTML elements (like SVG elements) cannot use this function.
Firefox Full support Yes
Notes
Full support Yes
Notes
Notes Prior to Firefox 19, this method was returning a NodeList; it was then changed to reflect the change in the spec.
IE Full support 9
Notes
Full support 9
Notes
Notes This function is implemented in the HTMLElement API, meaning non-HTML elements (like SVG elements) cannot use this function.
Opera Full support YesSafari Full support 6
Notes
Full support 6
Notes
Notes Safari on iOS 8 and OS X 10.10 returns a NodeList.
WebView Android Full support YesChrome Android Full support YesFirefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
getElementsByTagNameChrome Full support 1
Notes
Full support 1
Notes
Notes Initially, this method was returning a NodeList; it was then changed to reflect the spec change.
Edge Full support 12Firefox Full support Yes
Notes
Full support Yes
Notes
Notes Prior to Firefox 19, this method was returning a NodeList; it was then changed to reflect the change in the spec.
IE Full support 5.5Opera Full support Yes
Notes
Full support Yes
Notes
Notes Initially, this method was returning a NodeList; it was then changed to reflect the spec change.
Safari Full support 6
Notes
Full support 6
Notes
Notes Initially, this method was returning a NodeList; it was then changed to reflect the spec change.
WebView Android Full support YesChrome Android Full support YesFirefox Android Full support Yes
Notes
Full support Yes
Notes
Notes Prior to Firefox 19, this method was returning a NodeList; it was then changed to reflect the change in the spec.
Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
getElementsByTagNameNSChrome Full support 1
Notes
Full support 1
Notes
Notes Initially, this method was returning a NodeList; it was then changed to reflect the spec change.
Edge Full support 12Firefox Full support Yes
Notes
Full support Yes
Notes
Notes 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.
Notes Prior to Firefox 19, this method was returning a NodeList; it was then changed to reflects the spec change.
IE Full support 5.5Opera Full support Yes
Notes
Full support Yes
Notes
Notes Initially, this method was returning a NodeList; it was then changed to reflect the spec change.
Safari Full support 6
Notes
Full support 6
Notes
Notes Initially, this method was returning a NodeList; it was then changed to reflect the spec change.
WebView Android Full support YesChrome Android Full support YesFirefox Android Full support Yes
Notes
Full support Yes
Notes
Notes 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.
Notes Prior to Firefox 19, this method was returning a NodeList; it was then changed to reflects the spec change.
Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
hasAttributeChrome Full support YesEdge Full support 12Firefox Full support YesIE Full support YesOpera Full support YesSafari Full support 6WebView Android Full support YesChrome Android Full support YesFirefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
hasAttributeNSChrome Full support YesEdge Full support 12Firefox Full support YesIE ? Opera Full support YesSafari Full support 6WebView Android Full support YesChrome Android Full support YesFirefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
hasAttributesChrome Full support YesEdge Full support 16Firefox Full support Yes
Notes
Full support Yes
Notes
Notes [1] Before Firefox 35, it was implemented on the Node interface.
IE Full support 9Opera Full support YesSafari Full support 6WebView Android Full support YesChrome Android Full support YesFirefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
hasPointerCaptureChrome Full support 55Edge ? Firefox Full support 59
Full support 59
Full support 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.
IE ? Opera Full support 42Safari No support NoWebView Android Full support 55Chrome Android Full support 55Firefox Android No support No
No support No
Full support 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.
Opera Android Full support 42Safari iOS No support NoSamsung Internet Android Full support Yes
idChrome Full support 42Edge Full support 12Firefox Full support YesIE Full support YesOpera Full support YesSafari Full support 6WebView Android Full support 42Chrome Android Full support 42Firefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
innerHTMLChrome Full support 33
Notes
Full support 33
Notes
Notes This API was previously available on the Node API.
Edge Full support 14Firefox Full support 1IE Full support 4Opera Full support 7Safari Full support 9WebView Android Full support Yes
Notes
Full support Yes
Notes
Notes This API was previously available on the Node API.
Chrome Android Full support 33
Notes
Full support 33
Notes
Notes This API was previously available on the Node API.
Firefox Android Full support 4Opera Android Full support YesSafari iOS Full support 1Samsung Internet Android Full support 1.0
insertAdjacentElementChrome Full support 1Edge Full support 18
Full support 18
Full support 12
Notes
Notes This function is implemented in the HTMLElement API, meaning non-HTML elements (like SVG elements) cannot use this function.
Firefox Full support 48IE Full support Yes
Notes
Full support Yes
Notes
Notes This function is implemented in the HTMLElement API, meaning non-HTML elements (like SVG elements) cannot use this function.
Opera Full support YesSafari Full support 10WebView Android Full support 2.3Chrome Android Full support 18Firefox Android Full support 48Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
insertAdjacentHTMLChrome Full support 1Edge Full support 18
Full support 18
Full support 12
Notes
Notes This function is implemented in the HTMLElement API, meaning non-HTML elements (like SVG elements) cannot use this function.
Firefox Full support 8IE Full support 4
Notes
Full support 4
Notes
Notes Before Internet Explorer 10, throws an "Invalid target element for this operation." error when called on a <table>, <tbody>, <thead>, or <tr> element.
Notes This function is implemented in the HTMLElement API, meaning non-HTML elements (like SVG elements) cannot use this function.
Opera Full support 7Safari Full support 10WebView Android Full support 2.3Chrome Android Full support 18Firefox Android Full support 8Opera Android Full support YesSafari iOS Full support 4Samsung Internet Android Full support Yes
insertAdjacentTextChrome Full support 1Edge Full support 18
Full support 18
Full support 12
Notes
Notes This function is implemented in the HTMLElement API, meaning non-HTML elements (like SVG elements) cannot use this function.
Firefox Full support 48IE Full support Yes
Notes
Full support Yes
Notes
Notes This function is implemented in the HTMLElement API, meaning non-HTML elements (like SVG elements) cannot use this function.
Opera Full support YesSafari Full support 10WebView Android Full support 2.3Chrome Android Full support 18Firefox Android Full support 48Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
keydown eventChrome Full support YesEdge Full support YesFirefox Full support YesIE ? Opera ? Safari ? WebView Android Full support YesChrome Android Full support YesFirefox Android Full support YesOpera Android ? Safari iOS ? Samsung Internet Android ?
keypress event
Deprecated
Chrome Full support Yes
Notes
Full support Yes
Notes
Notes Chrome does not fire the keypress event for known keyboard shortcuts. Which keyboard shortcuts are known depends on the user's system. Use the keydown event to implement keyboard shortcuts.
Edge Full support YesFirefox Full support Yes
Notes
Full support Yes
Notes
Notes As of Firefox 65, the keypress event is no longer fired for non-printable keys, except for the Enter key, and the Shift + Enter and Ctrl + Enter key combinations (these were kept for cross-browser compatibility purposes).
IE ? Opera ? Safari ? WebView Android Full support Yes
Notes
Full support Yes
Notes
Notes Chrome does not fire the keypress event for known keyboard shortcuts. Which keyboard shortcuts are known depends on the user's system. Use the keydown event to implement keyboard shortcuts.
Chrome Android Full support Yes
Notes
Full support Yes
Notes
Notes Chrome does not fire the keypress event for known keyboard shortcuts. Which keyboard shortcuts are known depends on the user's system. Use the keydown event to implement keyboard shortcuts.
Firefox Android Full support Yes
Notes
Full support Yes
Notes
Notes As of Firefox 65, the keypress event is no longer fired for non-printable keys, except for the Enter key, and the Shift + Enter and Ctrl + Enter key combinations (these were kept for cross-browser compatibility purposes).
Opera Android ? Safari iOS ? Samsung Internet Android ?
keyup eventChrome Full support YesEdge Full support YesFirefox Full support YesIE ? Opera ? Safari ? WebView Android Full support YesChrome Android Full support YesFirefox Android Full support YesOpera Android ? Safari iOS ? Samsung Internet Android ?
localNameChrome Full support 31
Notes
Full support 31
Notes
Notes This API was previously available on the Node API.
Edge Full support 17Firefox Full support 48
Notes
Full support 48
Notes
Notes This API was previously available on the Node API.
IE Full support 9Opera Full support YesSafari Full support 10WebView Android Full support Yes
Notes
Full support Yes
Notes
Notes This API was previously available on the Node API.
Chrome Android Full support 31
Notes
Full support 31
Notes
Notes This API was previously available on the Node API.
Firefox Android Full support 48
Notes
Full support 48
Notes
Notes This API was previously available on the Node API.
Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
matchesChrome Full support 34
Full support 34
Full support Yes
Alternate Name
Alternate Name Uses the non-standard name: webkitMatchesSelector
Edge Full support Yes
Full support Yes
Full support Yes
Alternate Name
Alternate Name Uses the non-standard name: webkitMatchesSelector
Full support Yes
Alternate Name
Alternate Name Uses the non-standard name: msMatchesSelector
Firefox Full support 34
Full support 34
Full support 44
Alternate Name
Alternate Name Uses the non-standard name: webkitMatchesSelector
Full support 3.6
Notes Alternate Name
Notes Prior to Firefox 4, invalid selector strings caused false to be returned instead of throwing an exception.
Notes See bug 1119718 for removal.
Alternate Name Uses the non-standard name: mozMatchesSelector
IE Full support 9
Alternate Name
Full support 9
Alternate Name
Alternate Name Uses the non-standard name: msMatchesSelector
Opera Full support 21
Full support 21
Full support 15
Alternate Name
Alternate Name Uses the non-standard name: webkitMatchesSelector
No support 11.5 — 15
Alternate Name
Alternate Name Uses the non-standard name: oMatchesSelector
Safari Full support 7
Full support 7
Full support 5
Alternate Name
Alternate Name Uses the non-standard name: webkitMatchesSelector
WebView Android Full support Yes
Full support Yes
Full support Yes
Alternate Name
Alternate Name Uses the non-standard name: webkitMatchesSelector
Chrome Android Full support 34
Full support 34
Full support Yes
Alternate Name
Alternate Name Uses the non-standard name: webkitMatchesSelector
Firefox Android Full support 34
Full support 34
Full support 44
Alternate Name
Alternate Name Uses the non-standard name: webkitMatchesSelector
Full support 4
Notes Alternate Name
Notes See bug 1119718 for removal.
Alternate Name Uses the non-standard name: mozMatchesSelector
Opera Android Full support 21
Full support 21
Full support 14
Alternate Name
Alternate Name Uses the non-standard name: webkitMatchesSelector
No support 11.5 — 14
Alternate Name
Alternate Name Uses the non-standard name: oMatchesSelector
Safari iOS Full support 8
Full support 8
Full support Yes
Alternate Name
Alternate Name Uses the non-standard name: webkitMatchesSelector
Samsung Internet Android Full support Yes
Full support Yes
Full support Yes
Alternate Name
Alternate Name Uses the non-standard name: webkitMatchesSelector
mousedown eventChrome Full support YesEdge Full support YesFirefox Full support YesIE Full support YesOpera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesFirefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
mouseenter eventChrome Full support 30Edge Full support YesFirefox Full support 10IE Full support 5.5Opera Full support 17Safari Full support YesWebView Android Full support YesChrome Android Full support YesFirefox Android Full support 10Opera Android Full support 18Safari iOS Full support YesSamsung Internet Android Full support Yes
mouseleave eventChrome Full support 30Edge Full support YesFirefox Full support 10IE Full support 5.5Opera Full support 17Safari Full support YesWebView Android Full support YesChrome Android Full support YesFirefox Android Full support 10Opera Android Full support 18Safari iOS Full support YesSamsung Internet Android Full support Yes
mousemove eventChrome Full support YesEdge Full support YesFirefox Full support YesIE Full support YesOpera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesFirefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
mouseout eventChrome Full support YesEdge Full support YesFirefox Full support YesIE Full support YesOpera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesFirefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
mouseover eventChrome Full support YesEdge Full support YesFirefox Full support YesIE Full support YesOpera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesFirefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
mouseup eventChrome Full support YesEdge Full support YesFirefox Full support YesIE Full support YesOpera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesFirefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
mousewheel event
DeprecatedNon-standard
Chrome Full support 31Edge ? Firefox No support NoIE ? Opera ? Safari ? WebView Android ? Chrome Android ? Firefox Android No support NoOpera Android ? Safari iOS ? Samsung Internet Android ?
msContentZoom event
Non-standard
Chrome No support NoEdge Full support YesFirefox No support NoIE Full support YesOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android No support NoOpera Android No support NoSafari iOS No support NoSamsung Internet Android No support No
nameChrome No support NoEdge ? Firefox ? IE ? Opera No support NoSafari ? WebView Android No support NoChrome Android No support NoFirefox Android ? Opera Android No support NoSafari iOS ? Samsung Internet Android ?
namespaceURIChrome Full support 31
Notes
Full support 31
Notes
Notes This API was previously available on the Node API.
Edge Full support 17Firefox Full support 48
Notes
Full support 48
Notes
Notes This API was previously available on the Node API.
IE ? Opera Full support Yes
Notes
Full support Yes
Notes
Notes This API was previously available on the Node API.
Safari Full support 10WebView Android Full support Yes
Notes
Full support Yes
Notes
Notes This API was previously available on the Node API.
Chrome Android Full support 31
Notes
Full support 31
Notes
Notes This API was previously available on the Node API.
Firefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
onfullscreenchangeChrome Full support 57Edge ? Firefox Full support 64
Full support 64
No support 10 — 65
Alternate Name
Alternate Name Uses the non-standard name: onmozfullscreenchange
IE ? Opera Full support YesSafari ? WebView Android Full support 57Chrome Android Full support 57Firefox Android Full support 64
Full support 64
No support 10 — 65
Alternate Name
Alternate Name Uses the non-standard name: onmozfullscreenchange
Opera Android Full support YesSafari iOS ? Samsung Internet Android ?
onfullscreenerrorChrome Full support 57Edge ? Firefox Full support 64
Full support 64
No support 10 — 65
Alternate Name
Alternate Name Uses the non-standard name: onmozfullscreenerror
IE ? Opera Full support YesSafari ? WebView Android Full support 57Chrome Android Full support 57Firefox Android Full support 64
Full support 64
No support 10 — 65
Alternate Name
Alternate Name Uses the non-standard name: onmozfullscreenerror
Opera Android Full support YesSafari iOS ? Samsung Internet Android ?
openOrClosedShadowRoot
Non-standard
Chrome No support NoEdge No support NoFirefox Full support 63
Notes
Full support 63
Notes
Notes Available only to WebExtensions.
IE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android Full support 63
Notes
Full support 63
Notes
Notes Available only to WebExtensions.
Opera Android No support NoSafari iOS No support NoSamsung Internet Android No support No
outerHTMLChrome Full support 33
Notes
Full support 33
Notes
Notes This API was previously available on the Node API.
Edge Full support 14Firefox Full support 11IE Full support 4Opera Full support 7Safari Full support 9WebView Android Full support Yes
Notes
Full support Yes
Notes
Notes This API was previously available on the Node API.
Chrome Android Full support 33
Notes
Full support 33
Notes
Notes This API was previously available on the Node API.
Firefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
overflow event
Non-standard
Chrome No support NoEdge No support NoFirefox Full support YesIE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android Full support YesOpera Android No support NoSafari iOS No support NoSamsung Internet Android No support No
paste eventChrome Full support 58Edge Full support YesFirefox Full support YesIE Full support 11Opera Full support 45Safari Full support YesWebView Android Full support 58Chrome Android Full support 58Firefox Android Full support YesOpera Android Full support 43Safari iOS ? Samsung Internet Android ?
prefixChrome Full support 31
Notes
Full support 31
Notes
Notes This API was previously available on the Node API.
Edge Full support 13Firefox Full support 48
Notes
Full support 48
Notes
Notes This API was previously available on the Node API.
IE ? Opera Full support YesSafari Full support 10WebView Android Full support YesChrome Android Full support 31
Notes
Full support 31
Notes
Notes This API was previously available on the Node API.
Firefox Android Full support 48
Notes
Full support 48
Notes
Notes This API was previously available on the Node API.
Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
querySelectorChrome Full support 1Edge Full support 12Firefox Full support 3.5IE Full support 9
Full support 9
Partial support 8
Notes
Notes querySelector() is supported, but only for CSS 2.1 selectors.
Opera Full support YesSafari Full support 6WebView Android Full support YesChrome Android Full support YesFirefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
querySelectorAllChrome Full support 1Edge Full support 12Firefox Full support 3.5IE Full support 9
Full support 9
Partial support 8
Notes
Notes querySelectorAll() is supported, but only for CSS 2.1 selectors.
Opera Full support 10Safari Full support 6WebView Android Full support YesChrome Android Full support YesFirefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
releasePointerCaptureChrome Full support 55Edge Full support 12Firefox Full support 59
Full support 59
Full support 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.
IE Full support 11
Full support 11
Full support 10
Prefixed
Prefixed Implemented with the vendor prefix: ms
Opera Full support 42Safari No support NoWebView Android Full support 55Chrome Android Full support 55Firefox Android No support No
No support No
Full support 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.
Opera Android Full support 42Safari iOS No support NoSamsung Internet Android Full support Yes
removeAttributeChrome Full support YesEdge Full support 12
Notes
Full support 12
Notes
Notes This function doesn't respect boolean attributes' default values. See bug 12087679.
Firefox Full support YesIE ? Opera Full support YesSafari Full support 6WebView Android Full support YesChrome Android Full support YesFirefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
removeAttributeNodeChrome Full support YesEdge Full support 12Firefox Full support YesIE ? Opera Full support YesSafari Full support 6WebView Android Full support YesChrome Android Full support YesFirefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
removeAttributeNSChrome Full support YesEdge Full support 12Firefox Full support YesIE ? Opera Full support YesSafari Full support 6WebView Android Full support YesChrome Android Full support YesFirefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
requestFullscreenChrome Full support 69
Full support 69
Full support 15
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Edge No support 12 — 14
Prefixed
No support 12 — 14
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Firefox Full support 64
Full support 64
No support 47 — 65
Disabled
Disabled From version 47 until version 65 (exclusive): 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.
No support 9 — 65
Notes Alternate Name
Notes Before Firefox 44, Firefox incorrectly allowed elements inside a <frame> or <object> element 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> element with the allowfullscreen attribute can be displayed fullscreen.
Alternate Name Uses the non-standard name: mozRequestFullScreen
IE Full support 11
Prefixed
Full support 11
Prefixed
Prefixed Implemented with the vendor prefix: ms
Opera Full support 58
Full support 58
Full support 15
Prefixed
Prefixed Implemented with the vendor prefix: webkit
No support 12 — 15
Prefixed
Prefixed Implemented with the vendor prefix: o
Safari Full support Yes
Prefixed
Full support Yes
Prefixed
Prefixed Implemented with the vendor prefix: webkit
WebView Android Full support 69
Full support 69
Full support Yes
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Chrome Android Full support 69
Full support 69
Full support Yes
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Firefox Android Full support 64
Full support 64
No support 47 — 65
Disabled
Disabled From version 47 until version 65 (exclusive): 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.
No support 9 — 65
Notes Alternate Name
Notes 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.
Alternate Name Uses the non-standard name: mozRequestFullScreen
Opera Android Full support 50
Full support 50
Full support 14
Prefixed
Prefixed Implemented with the vendor prefix: webkit
No support 12 — 14
Prefixed
Prefixed Implemented with the vendor prefix: o
Safari iOS Full support Yes
Prefixed Notes
Full support Yes
Prefixed Notes
Prefixed Implemented with the vendor prefix: webkit
Notes Only available on iPad, not on iPhone.
Samsung Internet Android Full support Yes
Prefixed
Full support Yes
Prefixed
Prefixed Implemented with the vendor prefix: webkit
requestPointerLockChrome Full support Yes
Full support Yes
Full support Yes
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Edge Full support 13Firefox Full support 50
Full support 50
Full support Yes
Prefixed
Prefixed Implemented with the vendor prefix: moz
IE ? Opera Full support YesSafari Full support 10WebView Android Full support Yes
Full support Yes
Full support Yes
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Chrome Android Full support Yes
Full support Yes
Full support Yes
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Firefox Android Full support YesOpera Android Full support YesSafari iOS ? Samsung Internet Android Full support Yes
runtimeStyle
Non-standard
Chrome No support NoEdge No support NoFirefox No support NoIE Full support 6Opera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android No support NoOpera Android No support NoSafari iOS No support NoSamsung Internet Android No support No
scrollChrome Full support 45Edge No support NoFirefox Full support YesIE No support NoOpera Full support 32Safari Full support 10WebView Android Full support 45Chrome Android Full support 45Firefox Android Full support YesOpera Android Full support 32Safari iOS No support NoSamsung Internet Android Full support Yes
scroll eventChrome Full support YesEdge Full support YesFirefox Full support YesIE ? Opera ? Safari ? WebView Android Full support YesChrome Android Full support YesFirefox Android Full support YesOpera Android ? Safari iOS ? Samsung Internet Android ?
scrollByChrome Full support 45Edge No support NoFirefox Full support YesIE No support NoOpera Full support 32Safari Full support 10WebView Android Full support 45Chrome Android Full support 45Firefox Android Full support YesOpera Android Full support 32Safari iOS No support NoSamsung Internet Android Full support Yes
scrollHeightChrome Full support 4Edge Full support 12Firefox Full support 21
Full support 21
No support 3 — 21
Notes
Notes 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).
IE Full support 8Opera Full support YesSafari Full support 6WebView Android Full support YesChrome Android Full support YesFirefox Android Full support YesOpera Android Full support YesSafari iOS Full support 4Samsung Internet Android Full support Yes
scrollIntoView
Experimental
Chrome Full support 29Edge Full support 18
Notes
Full support 18
Notes
Notes No support for smooth behavior.
Full support 12
Notes
Notes This function is implemented in the HTMLElement API, meaning non-HTML elements (like SVG elements) cannot use this function.
Notes No support for smooth behavior.
Firefox Full support 1IE Full support 8
Notes
Full support 8
Notes
Notes This function is implemented in the HTMLElement API, meaning non-HTML elements (like SVG elements) cannot use this function.
Notes No support for smooth behavior or center options.
Opera Full support 38Safari Full support 6
Notes
Full support 6
Notes
Notes No support for smooth behavior or center options.
WebView Android Full support YesChrome Android Full support YesFirefox Android Full support 4Opera Android Full support YesSafari iOS Full support 5
Notes
Full support 5
Notes
Notes No support for smooth behavior or center options.
Samsung Internet Android Full support Yes
scrollIntoViewIfNeeded
Non-standard
Chrome Full support YesEdge No support NoFirefox No support NoIE No support NoOpera Full support YesSafari Full support 6WebView Android Full support YesChrome Android Full support YesFirefox Android No support NoOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android ?
scrollLeftChrome Full support 43Edge Full support 12Firefox Full support YesIE Full support YesOpera Full support YesSafari Full support 6WebView Android Full support 43Chrome Android Full support 43Firefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
scrollLeftMax
Non-standard
Chrome No support NoEdge No support NoFirefox Full support 16IE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android Full support 16Opera Android No support NoSafari iOS No support NoSamsung Internet Android No support No
scrollToChrome Full support 45Edge No support NoFirefox Full support YesIE No support NoOpera Full support 32Safari Full support 10WebView Android Full support 45Chrome Android Full support 45Firefox Android Full support YesOpera Android Full support 32Safari iOS No support NoSamsung Internet Android Full support Yes
scrollTopChrome Full support 43Edge Full support 12Firefox Full support YesIE Full support YesOpera Full support YesSafari Full support 6WebView Android Full support YesChrome Android Full support 43Firefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
scrollTopMax
Non-standard
Chrome No support NoEdge No support NoFirefox Full support 16IE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android Full support 16Opera Android No support NoSafari iOS No support NoSamsung Internet Android No support No
scrollWidthChrome Full support 43Edge Full support 12Firefox Full support YesIE ? Opera Full support YesSafari Full support 6WebView Android Full support YesChrome Android Full support 43Firefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
select eventChrome Full support YesEdge Full support YesFirefox Full support YesIE ? Opera ? Safari ? WebView Android Full support YesChrome Android Full support YesFirefox Android Full support YesOpera Android ? Safari iOS ? Samsung Internet Android ?
setAttributeChrome Full support YesEdge Full support 12Firefox Full support YesIE Full support 5
Notes
Full support 5
Notes
Notes In Internet Explorer 7 and earlier, setAttribute doesn't set styles and removes events when you try to set them.
Opera Full support YesSafari Full support 6WebView Android Full support YesChrome Android Full support YesFirefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
setAttributeNodeChrome Full support YesEdge Full support 12Firefox Full support YesIE ? Opera Full support YesSafari Full support 6WebView Android Full support YesChrome Android Full support YesFirefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
setAttributeNodeNSChrome Full support YesEdge Full support 12
Notes
Full support 12
Notes
Notes Returns a ClientRectList with ClientRect objects (which do not contain x and y properties) instead of DOMRect objects.
Firefox Full support YesIE Full support Yes
Notes
Full support Yes
Notes
Notes Returns a ClientRectList with ClientRect objects (which do not contain x and y properties) instead of DOMRect objects.
Opera Full support YesSafari Full support 6WebView Android Full support YesChrome Android Full support YesFirefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
setAttributeNSChrome Full support YesEdge Full support 12Firefox Full support YesIE ? Opera Full support YesSafari Full support 6WebView Android Full support YesChrome Android Full support YesFirefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
setCapture
DeprecatedNon-standard
Chrome No support NoEdge ? Firefox Full support YesIE Full support 5
Notes
Full support 5
Notes
Notes The retargetToElement parameter to Element.setCapture() was introduced in Internet Explorer 5.5.
Opera No support NoSafari ? WebView Android No support NoChrome Android No support NoFirefox Android ? Opera Android No support NoSafari iOS ? Samsung Internet Android ?
setPointerCaptureChrome Full support 55Edge Full support 12Firefox Full support 59
Full support 59
Full support 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.
IE Full support 11
Full support 11
Full support 10
Prefixed
Prefixed Implemented with the vendor prefix: ms
Opera Full support 42Safari No support NoWebView Android Full support 55Chrome Android Full support 55Firefox Android No support No
No support No
Full support 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.
Opera Android Full support 42Safari iOS No support NoSamsung Internet Android Full support Yes
shadowRootChrome Full support 43Edge No support No
Notes
No support No
Notes
Notes Under consideration
Firefox Full support 63
Full support 63
No support 59 — 63
Disabled
Disabled From version 59 until version 63 (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.
IE No support NoOpera Full support 40Safari Full support 10WebView Android Full support 43Chrome Android Full support 43Firefox Android Full support 63
Full support 63
No support 59 — 63
Disabled
Disabled From version 59 until version 63 (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.
Opera Android Full support 41Safari iOS Full support YesSamsung Internet Android Full support Yes
show event
Deprecated
Chrome No support NoEdge ? Firefox Full support YesIE ? Opera ? Safari ? WebView Android No support NoChrome Android No support NoFirefox Android Full support YesOpera Android ? Safari iOS ? Samsung Internet Android ?
slotChrome Full support 53Edge ? Firefox Full support 63IE ? Opera Full support YesSafari Full support 10WebView Android Full support 53Chrome Android Full support 53Firefox Android Full support 63Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
tabStop
DeprecatedNon-standard
Chrome Full support 43Edge ? Firefox ? IE ? Opera ? Safari ? WebView Android Full support 43Chrome Android Full support 43Firefox Android ? Opera Android ? Safari iOS ? Samsung Internet Android ?
tagNameChrome Full support 43Edge Full support 12Firefox Full support YesIE Full support YesOpera Full support YesSafari Full support 6WebView Android Full support 43Chrome Android Full support 43Firefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
toggleAttributeChrome Full support 69Edge Full support 18Firefox Full support 63IE ? Opera Full support 56Safari Full support 12WebView Android Full support 69Chrome Android Full support 69Firefox Android Full support 63Opera Android Full support 48Safari iOS Full support YesSamsung Internet Android ?
touchcancel eventChrome Full support 22Edge Full support 12Firefox Full support 52IE No support NoOpera No support NoSafari No support NoWebView Android Full support YesChrome Android Full support 25Firefox Android Full support 6Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
touchend eventChrome Full support 22Edge Full support 12Firefox Full support 52IE No support NoOpera No support NoSafari No support NoWebView Android Full support YesChrome Android Full support 25Firefox Android Full support 6Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
touchmove eventChrome Full support 22Edge Full support 12Firefox Full support 52IE No support NoOpera No support NoSafari No support NoWebView Android Full support YesChrome Android Full support 25Firefox Android Full support 6Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
touchstart eventChrome Full support 22Edge Full support 12Firefox Full support 52IE No support NoOpera No support NoSafari No support NoWebView Android Full support YesChrome Android Full support 25Firefox Android Full support 6Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
underflow event
Non-standard
Chrome No support NoEdge No support NoFirefox Full support YesIE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android Full support YesOpera Android No support NoSafari iOS No support NoSamsung Internet Android No support No
webkitmouseforcechanged event
Non-standard
Chrome No support NoEdge No support NoFirefox No support NoIE No support NoOpera No support NoSafari Full support YesWebView Android No support NoChrome Android No support NoFirefox Android No support NoOpera Android No support NoSafari iOS Full support YesSamsung Internet Android ?
webkitmouseforcedown event
Non-standard
Chrome No support NoEdge No support NoFirefox No support NoIE No support NoOpera No support NoSafari Full support YesWebView Android No support NoChrome Android No support NoFirefox Android No support NoOpera Android No support NoSafari iOS Full support YesSamsung Internet Android ?
webkitmouseforceup event
Non-standard
Chrome No support NoEdge No support NoFirefox No support NoIE No support NoOpera No support NoSafari Full support YesWebView Android No support NoChrome Android No support NoFirefox Android No support NoOpera Android No support NoSafari iOS Full support YesSamsung Internet Android ?
webkitmouseforcewillbegin event
Non-standard
Chrome No support NoEdge No support NoFirefox No support NoIE No support NoOpera No support NoSafari Full support YesWebView Android No support NoChrome Android No support NoFirefox Android No support NoOpera Android No support NoSafari iOS Full support YesSamsung Internet Android ?
wheel eventChrome Full support 61Edge Full support YesFirefox Full support YesIE Full support YesOpera Full support 48Safari Full support YesWebView Android Full support 61Chrome Android Full support 61Firefox Android Full support YesOpera Android Full support 45Safari iOS Full support YesSamsung Internet Android ?

Legend

Full support  
Full support
Partial support  
Partial support
No support  
No support
Compatibility unknown  
Compatibility unknown
Experimental. Expect behavior to change in the future.
Experimental. Expect behavior to change in the future.
Non-standard. Expect poor cross-browser support.
Non-standard. Expect poor cross-browser support.
Deprecated. Not for use in new websites.
Deprecated. Not for use in new websites.
See implementation notes.
See implementation notes.
User must explicitly enable this feature.
User must explicitly enable this feature.
Uses a non-standard name.
Uses a non-standard name.
Requires a vendor prefix or different name for use.
Requires a vendor prefix or different name for use.