翻译正在进行中。

Element 是一个通用性非常强的基类,所有 Document 对象下的对象都继承自它。这个接口描述了所有相同种类的元素所普遍具有的方法和属性。一些接口继承自 Element 并且增加了一些额外功能的接口描述了具体的行为。例如, HTMLElement 接口是所有 HTML 元素的基本接口,而 SVGElement 接口是所有 SVG 元素的基础。大多数功能是在这个类的更深层级(hierarchy)的接口中被进一步制定的。

在 Web 平台的领域以外的语言,比如 XUL,通过 XULElement 接口,同样也实现了 Element 接口。

属性

所有属性继承自它的祖先接口 Node,并且扩展了 Node 的父接口 EventTarget,并且从以下部分继承了属性:ParentNodeChildNodeNonDocumentTypeChildNodeAnimatable

Element.attributes 只读
返回一个与该元素相关的所有属性集合 NamedNodeMap
Element.classList 只读
返回该元素包含的 class 属性,是一个 DOMTokenList
Element.className
一个 DOMString,表示这个元素的 class。
Element.clientHeight 只读
返回Number 表示内部相对于外层元素的高度。
Element.clientLeft 只读
返回Number表示该元素距离它左边界的宽度。
Element.clientTop 只读
返回 Number 表示该元素距离它上边界的高度。
Element.clientWidth 只读
返回Number 表示该元素内部的宽度。
Element.computedName 只读
Returns a DOMString containing the label exposed to accessibility.
Element.computedRole 只读
Returns a DOMString containing the ARIA role that has been applied to a particular element.
Element.id
是一个DOMString 表示这个元素的id。
Element.innerHTML
是一个DOMString 表示这个元素的内容文本。
Element.localName 只读
是一个 DOMString 表示这个元素名称本地化的部分。
Element.namespaceURI 只读
元素对应的 namespace URI ,如果没有则返回 null

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 只读
是一个Element, 该元素下一个兄弟节点, 如果为null表示不存在..
Element.outerHTML
是一个 DOMString,获取该DOM元素及其后代的HTML文本。在设置它的时候,会从给定的字符串开始解析,替换自身。
Element.prefix 只读
A DOMString representing the namespace prefix of the element, or null if no prefix is specified.
NonDocumentTypeChildNode.previousElementSibling 只读
是一个 Element, 该元素上一个兄弟节点, 如果为null表示不存在..
Element.scrollHeight 只读
返回类型为: Number,表示元素的滚动视图高度。
Element.scrollLeft
返回类型为:Number,表示该元素横向滚动条距离最左的位移.
Element.scrollLeftMax 只读
返回类型为: Number,表示该元素横向滚动条可移动的最大值
Element.scrollTop
返回类型为:Number ,表示该元素纵向滚动条距离
Element.scrollTopMax 只读
返回类型为:Number ,表示该元素纵向滚动条可移动的最大值
Element.scrollWidth 只读
返回类型为: Number ,表示元素的滚动视图宽度。
Element.shadowRoot只读
Returns the open shadow root that is hosted by the element, or null if no open shadow root is present.
Element.openOrClosedShadowRoot 只读
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 只读
Returns a String with the name of the tag for the given element.
Element.undoManager 只读
Returns the UndoManager associated with the element.
Element.undoScope
Is a Boolean indicating if the element is an undo scope host, or not.

Note: DOM Level 3 defined namespaceURI, localName and prefix on the Node interface. In DOM4 they were moved to Element.

This change is implemented in Chrome since version 46.0 and Firefox since version 48.0.

Properties included from Slotable

The Element interface includes the following property, defined on the Slotable mixin.

Slotable.assignedSlot只读
Returns a HTMLSlotElement representing the <slot> the node is inserted in.

事件句柄

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 running in the background.
Element.onfullscreenerror
An event handler for the fullscreenerror event, which is sent when an error occurs while attempting to change into full-screen mode.

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()
参数中给出类的列表,返回一个动态的 HTMLCollection ,包含了所有持有这些类的后代元素。
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.pseudo()
Returns a CSSPseudoElement representing the child pseudo-element matched by the specified pseudo-element selector.
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.

Events

Listen to these events using addEventListener() or by assigning an event listener to the oneventname property of this interface.

cancel
Fires on a <dialog> when the user instructs the browser that they wish to dismiss the current open dialog. For example, the browser might fire this event when the user presses the Esc key or clicks a "Close dialog" button which is part of the browser's UI.
Also available via the oncancel property.
error
Fired when when a resource failed to load, or can't be used. For example, if a script has an execution error or an image can't be found or is invalid.
Also available via the onerror property.
scroll
Fired when the document view or an element has been scrolled.
Also available via the onscroll property.
select
Fired when some text has been selected.
Also available via the onselect property.
show
Fired when a contextmenu event was fired on/bubbled to an element that has a contextmenu attribute.
Also available via the onshow property.
wheel
Fired when the user rotates a wheel button on a pointing device (typically a mouse).
Also available via the onwheel property.

Clipboard events

copy
Fired when the user initiates a copy action through the browser's user interface.
Also available via the oncopy property.
cut
Fired when the user initiates a cut action through the browser's user interface.
Also available via the oncut property.
paste
Fired when the user initiates a paste action through the browser's user interface.
Also available via the onpaste property.

Composition events

compositionend
Fired when a text composition system such as an input method editor completes or cancels the current composition session.
compositionstart
Fired when a text composition system such as an input method editor starts a new composition session.
compositionupdate
Fired when a new character is received in the context of a text composition session controlled by a text composition system such as an input method editor.

Focus events

blur
Fired when an element has lost focus.
Also available via the onblur property.
focus
Fired when an element has gained focus.
Also available via the onfocus property
focusin
Fired when an element is about to gain focus.
focusout
Fired when an element is about to lose focus.

Fullscreen events

fullscreenchange
Sent to an Element when it transitions into or out of full-screen mode.
Also available via the onfullscreenchange property.
fullscreenerror
Sent to an Element if an error occurs while attempting to switch it into or out of full-screen mode.
Also available via the onfullscreenerror property.

Keyboard events

keydown
Fired when a key is pressed.
Also available via the onkeydown property.
keypress
Fired when a key that produces a character value is pressed down.
Also available via the onkeypress property.
keyup
Fired when a key is released.
Also available via the onkeyup property.

Mouse events

auxclick
Fired when a non-primary pointing device button (e.g., any mouse button other than the left button) has been pressed and released on an element.
Also available via the onauxclick property.
click
Fired when a pointing device button (e.g., a mouse's primary button) is pressed and released on a single element.
Also available via the onclick property.
contextmenu
Fired when the user attempts to open a context menu.
Also available via the oncontextmenu property.
dblclick
Fired when a pointing device button (e.g., a mouse's primary button) is clicked twice on a single element.
Also available via the ondblclick property.
DOMActivate
Occurs when an element is activated, for instance, through a mouse click or a keypress.
mousedown
Fired when a pointing device button is pressed on an element.
Also available via the onmousedown property.
mouseenter
Fired when a pointing device (usually a mouse) is moved over the element that has the listener attached.
Also available via the onmouseenter property.
mouseleave
Fired when the pointer of a pointing device (usually a mouse) is moved out of an element that has the listener attached to it.
Also available via the onmouseleave property.
mousemove
Fired when a pointing device (usually a mouse) is moved while over an element.
Also available via the onmousemove property.
mouseout
Fired when a pointing device (usually a mouse) is moved off the element to which the listener is attached or off one of its children.
Also available via the onmouseout property.
mouseover
Fired when a pointing device is moved onto the element to which the listener is attached or onto one of its children.
Also available via the onmouseover property.
mouseup
Fired when a pointing device button is released on an element.
Also available via the onmouseup property.
webkitmouseforcechanged
Fired each time the amount of pressure changes on the trackpadtouchscreen.
webkitmouseforcedown
Fired after the mousedown event as soon as sufficient pressure has been applied to qualify as a "force click".
webkitmouseforcewillbegin
Fired before the mousedown event.
webkitmouseforceup
Fired after the webkitmouseforcedown event as soon as the pressure has been reduced sufficiently to end the "force click".

Touch events

touchcancel
Fired when one or more touch points have been disrupted in an implementation-specific manner (for example, too many touch points are created).
Also available via the ontouchcancel property.
touchend
Fired when one or more touch points are removed from the touch surface.
Also available via the ontouchend property
touchmove
Fired when one or more touch points are moved along the touch surface.
Also available via the ontouchmove property
touchstart
Fired when one or more touch points are placed on the touch surface.
Also available via the ontouchstart property

规范

规范文档 状态 说明
CSS Pseudo-Elements Level 4
Element
Working Draft Added the pseudo() method.
Web Animations Working Draft Added the getAnimations() method.
UndoManager and DOMTransaction
Element
Editor's Draft Added the undoScope and undoManager properties.
Pointer Events – Level 2
Element
Working Draft Added the following event handlers: ongotpointercapture and onlostpointercapture.
Added the following methods: setPointerCapture() and releasePointerCapture().
Pointer Events
Element
Recommendation Added the following event handlers: ongotpointercapture and onlostpointercapture.
Added the following methods: setPointerCapture() and releasePointerCapture().
Selectors API Level 1
Element
Obsolete Added the following methods: querySelector() and querySelectorAll().
Pointer Lock
Element
Candidate Recommendation Added the requestPointerLock() method.
Fullscreen API
Element
Living Standard Added the requestFullscreen() method.
DOM Parsing and Serialization
Element
Working Draft Added the following properties: innerHTML, and outerHTML.
Added the following method: insertAdjacentHTML().
CSS Object Model (CSSOM) View Module
Element
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
Element
Obsolete Added inheritance of the ElementTraversal interface.
DOM
Element
Living Standard Added the following methods: closest(), insertAdjacentElement() and insertAdjacentText().
Moved hasAttributes() from the Node interface to this one.
DOM4
Element
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
Element
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
Element
Obsolete The normalize() method has been moved to Node.
Document Object Model (DOM) Level 1 Specification
Element
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 YesFirefox 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
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 ?
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 Full support 10Opera 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 ?
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 ?
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
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 ? Opera ? Safari ? WebView Android No support NoChrome Android No support NoFirefox Android ? Opera Android ? Safari 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
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
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
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
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 16Firefox 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 9Opera 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 17Firefox Full support 48IE Full support YesOpera 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 17Firefox 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.
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 17Firefox Full support 48IE Full support YesOpera 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
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 ? Opera 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
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
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 ?
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
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
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
requestFullscreenChrome Full support 71
Full support 71
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 71
Full support 71
Full support Yes
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Chrome Android Full support 71
Full support 71
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
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
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 ?
scrollIntoView
Experimental
Chrome Full support 29Edge Full support 17
Notes
Full support 17
Notes
Notes No support for smooth behavior.
Firefox Full support 1IE Full support 8
Notes
Full support 8
Notes
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 ?
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
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
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
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
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
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
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.

文档标签和贡献者

最后编辑者: RainSlide,