Element - Document 中所有对象最通用的基类

ElementDocument 中所有对象继承的最通用的基类。它只有各种元素共有的方法和属性。更具体的类继承自 Element。例如,HTMLElement 接口是所有 HTML 元素的基础接口,而 SVGElement 接口是所有 SVG 元素的基础接口。大多数功能都是在类层次结构下面进一步指定的。

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

继承关系图

桌面浏览器兼容性

特性 Chrome Edge Firefox Internet Explorer Opera Safari
基础支持 1.0 支持 1.0 支持 支持 1.0
children 支持 支持 3.0 7.0 有一个重大的 bug [1]
9.0 根据规范实现了
支持 不支持
childElementCount, nextElementSibling, previousElementSibling 支持 支持 3.5 9.0 支持 支持
firstElementChild, lastElementChild 支持 支持 3.0 9.0 支持 支持
classList 支持 支持 3.6 支持 支持
outerHTML 支持 支持 11 支持 支持 支持
clientLeft, clientTop 支持 支持 3.5 支持 支持 支持
getBoundingClientRect(), getClientRects() 支持 支持 3.0 支持 支持 支持
querySelector(), querySelectorAll() 1.0 支持 3.5 8.0 10.0 3.2 (525.3)
insertAdjacentHTML() 1.0 支持 8 4.0 7.0 4.0 (527)
setCapture() 不支持 不支持 4.0 不支持 不支持 不支持
oncopy, oncut, onpaste 不支持 不支持 3.0 支持 不支持
onwheel 不支持 支持 17 不支持 不支持 不支持
ongotpointercapture, onlostpointercapture, setPointerCapture(), and releasePointerCapture() 52.0 [4] 支持 支持 [3] 10.0 不支持 不支持
matches() 支持 with the non-standard name webkitMatchesSelector 支持 webkit ms 3.6 with the non-standard name mozMatchesSelector
34 with the standard name
9.0 with the non-standard name msMatchesSelector 11.5 with the non-standard name oMatchesSelector
15.0 with the non-standard name webkitMatchesSelector
5.0 with the non-standard name webkitMatchesSelector
requestPointerLock() 16.0 webkit, behind an about:flags
22.0 webkit (with special cases, progressively lifted see [2])
支持 14moz 不支持 不支持 不支持
requestFullscreen() 14.0 webkit 支持 10 moz 11.0 ms 12.10
15.0 webkit
5.1 webkit
undoManager and undoScope 不支持 不支持 支持 (behind the dom.undo_manager.enabled pref) 不支持 不支持 不支持
attributes 未知 不支持 22
Before this it was available via the Node interface that any element inherits.
未知 未知 未知
scrollTopMax() and scrollLeftMax() 不支持 不支持 16 不支持 不支持 不支持
closest() 未知 支持 35 未知 未知 未知
hasAttributes() 支持 不支持 1.0 (on the Node interface)
35 (on this interface
支持 支持 支持
insertAdjacentElement(), insertAdjacentText() 支持 不支持 48.0 未知 支持 支持
assignedSlot, attatchShadow, shadowRoot, and slot 53 不支持 未知 未知 未知 未知
computedRole and computedName 41[4] 未知 未知 未知 28[4] 未知

移动浏览器兼容性

特性 Android Android Webview Edge Firefox Mobile IE Mobile Opera Mobile Safari Mobile Chrome for Android
基础支持 1.0 - 支持 1.0 支持 支持 1.0 -
scrollTopMax() and scrollLeftMax() 不支持 - 不支持 16.0 不支持 不支持 不支持 -
closest() 未知 - 支持 35.0 未知 未知 未知 -
hasAttributes() 支持 - 不支持 1.0 (on the Node interface)
35.0 (on this interface
支持 支持 支持 -
insertAdjacentElement(), insertAdjacentText() 支持 支持 48.0 未知 支持 支持
assignedSlot, attatchShadow, shadowRoot, and slot 不支持 53.0 不支持 未知 未知 未知 未知 53
computedRole and computedName 不支持 不支持 未知 未知 未知 28[4] 未知 不支持

[1] Internet Explorer 7 和 8 不正确地将注释作为元素子元素的一部分返回。这在 Internet Explorer 9 及更高版本中得到解决。

[2] Chrome 16 只允许全屏显示允许使用 webkitRequestPointerLock();Chrome 21 允许在可信网站(会有权限提示);Chrome 22 默认允许所有同源文档;如果 sandbox 属性的值设置为非标准值 webkit-allow-pointer-lock,则 Chrome 23 允许它在沙箱中的 <iframe> 使用。

[3] 撤回了实现。请参阅 Mozilla bug 1166347

[4] 通过标识控制。