HTMLElement - 代表所有 HTML 元素的接口
HTMLElement
接口代表所有 HTML 元素。一些元素直接实现这个接口,其他元素通过继承它的接口实现它。
属性
从其父接口 Element
继承了属性,并从 DocumentAndElementEventHandlers
,ElementCSSInlineStyle
,GlobalEventHandlers
,HTMLOrForeignElement
和 TouchEventHandlers
实现了属性。
HTMLElement.accessKey
一个 DOMString
,表示分配给元素的访问按键。
HTMLElement.accessKeyLabel
只读
一个 DOMString
,表示分配给元素的访问按键。
HTMLElement.contentEditable
一个 DOMString
,值为 true
表示元素是可编辑的,值为 false
表示元素不是可编辑的。
HTMLElement.isContentEditable
只读
一个 Boolean
,指示是否可以编辑元素的内容。
HTMLElement.contextMenu
一个 HTMLMenuElement
,表示与元素关联的上下文菜单。它可能是 null
。
HTMLOrForeignElement.dataset
只读
一个 DOMStringMap
,脚本可以使用该脚本读写元素的自定义数据属性( data-*
)。
HTMLElement.dir
一个 DOMString
,表示 dir
全局属性,代表元素的方向性。可能的值为 "ltr"
,"rtl"
和 "auto"
。
HTMLElement.draggable
一个 Boolean
,表示是否可以拖动元素。
HTMLElement.enterkeyhint
一个 DOMString
,用于定义要为虚拟键盘上的 Enter 键显示的操作标签(或图标)。
HTMLElement.hidden
一个 Boolean
,指示元素是否隐藏。
HTMLElement.inert
一个 Boolean
,指示出于用户交互事件,页面内文本搜索(“在页面中查找”)和文本选择的目的,用户代理是否必须像缺少给定节点一样进行操作。
HTMLElement.innerText
表示节点及其后代的 “已渲染” 文本内容。作为一种获取方法,它近似于用户使用光标突出显示元素的内容然后将其复制到剪贴板时将获得的文本。
HTMLElement.itemScope
一个 Boolean
,代表项目范围。
HTMLElement.itemType
只读
HTMLElement.itemId
一个 DOMString
,表示项目的 ID。
HTMLElement.itemRef
只读
HTMLElement.itemProp
只读
HTMLElement.itemValue
一个 Object
,表示项目的值。
HTMLElement.lang
一个 DOMString
,表示元素属性,文本和元素内容的语言。
HTMLElement.noModule
一个 Boolean
,表示是否可以在支持模块脚本的用户代理中执行导入脚本。
HTMLOrForeignElement.nonce
返回内容安全策略用于确定是否允许进行给定提取的一次使用的密码。
HTMLElement.offsetHeight
只读
返回一个 double
,表示元素相对于布局的高度。
HTMLElement.offsetLeft
只读
返回一个 double
,即从该元素的左边框到其 offsetParent
的左边框的距离。
HTMLElement.offsetParent
只读
返回一个 Element
,它是当前从中计算所有偏移量计算的元素。
HTMLElement.offsetTop
只读
返回一个 double
,即从此元素的顶部边框到其 offsetParent
的顶部边框的距离。
HTMLElement.offsetWidth
只读
返回一个 double
,表示元素相对于布局的宽度。
HTMLElement.properties
只读
返回一个 HTMLPropertiesCollection
。
HTMLElement.spellcheck
一个 Boolean
的控件,用于控制拼写检查。它在所有 HTML 元素上都存在,尽管它对所有元素都没有影响。
HTMLElement.style
一个 CSSStyleDeclaration
,表示元素的样式属性的声明的对象。
HTMLOrForeignElement.tabIndex
一个 long
,表示元素在跳位顺序中的位置。
HTMLElement.title
一个 DOMString
,包含当鼠标悬停在元素上方时在弹出框中显示的文本。
HTMLElement.translate
一个 Boolean
,表示是否翻译。
事件处理程序
大多数事件处理程序属性的格式都是 onXYZ
,它们是在 DocumentAndElementEventHandlers
,GlobalEventHandlers
或 TouchEventHandlers
接口上定义的,由 HTMLElement
实现。另外,以下处理程序是 HTMLElement
特有的。
HTMLElement.oncopy
返回 copy
事件的事件处理代码(Mozilla bug 280959)。
HTMLElement.oncut
返回 cut
事件的事件处理代码(Mozilla bug 280959)。
HTMLElement.onpaste
返回 paste
事件的事件处理代码(Mozilla bug 280959)。
TouchEventHandlers.ontouchstart
返回 touchstart
事件的事件处理代码。
TouchEventHandlers.ontouchend
返回 touchend
事件的事件处理代码。
TouchEventHandlers.ontouchmove
返回 touchmove
事件的事件处理代码。
TouchEventHandlers.ontouchenter
返回 touchenter
事件的事件处理代码。
TouchEventHandlers.ontouchleave
返回 touchleave
事件的事件处理代码。
TouchEventHandlers.ontouchcancel
返回 touchcancel
事件的事件处理代码。
方法
从其父接口 Element
和,并实现了 DocumentAndElementEventHandlers
,ElementCSSInlineStyle
,GlobalEventHandlers
,HTMLOrForeignElement
和 TouchEventHandlers
的方法。
HTMLElement.attachInternals()
将 ElementInternals
实例附加到自定义元素。
HTMLOrForeignElement.blur()
从当前焦点的元素中移除键盘焦点。
HTMLElement.click()
将鼠标单击事件发送到元素。
HTMLOrForeignElement.focus()
使元素成为当前键盘焦点。
HTMLElement.forceSpellCheck()
对元素的内容运行拼写检查器。
事件
使用 addEventListener()
或通过为此接口的 oneventname
属性分配事件监听器来监听这些事件
invalid
当元素在约束验证期间不满足其约束时触发。
也可以通过 oninvalid
属性处理。
动画事件
animationcancel
当动画意外中止时触发。也可以通过 onanimationcancel
属性处理。
animationend
动画正常完成时触发。也可以通过 onanimationend
属性处理。
animationiteration
动画迭代完成时触发。
也可以通过 onanimationiteration
属性处理。
animationstart
动画开始时触发。也可以通过 onanimationstart
属性处理。
输入事件
beforeinput
当 <input>
,<select>
或 <textarea>
元素的值即将被修改时触发。
input
当 <input>
,<select>
或 <textarea>
元素的 value
被更改时触发。
也可以通过 oninput
属性处理。
change
当 <input>
,<select>
或 <textarea>
元素的 value
已由用户更改并提交时触发。与 input
事件不同,不是每次元素更改 value
值都会触发 change
事件。
指针事件
gotpointercapture
当元素使用 setPointerCapture()
捕获指针时触发。也可以通过 ongotpointercapture
属性处理。
lostpointercapture
释放捕获的指针时触发。也可以通过 onlostpointercapture
属性处理。
pointercancel
取消指针事件时触发。也可以通过 onpointercancel
属性处理。
pointerdown
当指针变为活动状态时触发。也可以通过 onpointerdown
属性处理。
pointerenter
当指针移入元素或其后代之一的 “命中测试” 边界时触发。也可以通过 onpointerenter
属性处理。
pointerleave
当指针移出元素的点击测试边界时触发。也可以通过 onpointerleave
属性处理。
pointermove
当指针更改坐标时触发。也可以通过 onpointermove
属性处理。
pointerout
当指针移出元素的 “命中测试” 边界时(除其他原因外)触发。也可以通过 onpointerout
属性处理。
pointerover
当指针移到元素的 “命中测试” 边界时触发。也可以通过 onpointerover
属性处理。
pointerup
当指针不再活动时触发。也可以通过 onpointerup
属性处理。
过渡事件
transitioncancel
取消 CSS 转换时触发。也可以通过 ontransitioncancel
属性处理。
transitionend
CSS 过渡完成时触发。也可以通过 ontransitionend
属性处理。
transitionrun
首次创建 CSS 过渡时触发。也可以通过 ontransitionrun
属性处理。
transitionstart
当 CSS 转换实际开始时触发。也可以通过 ontransitionstart
属性处理。
规范
规范 | 状态 | 备注 |
---|---|---|
CSS Object Model (CSSOM) View Module HTMLElement 的定义 |
工作草案 | 添加了以下属性:offsetParent ,offsetTop ,offsetLeft ,offsetWidth 和 offsetHeight 。 |
HTML Living Standard HTMLElement 的定义 |
现行的标准 | 添加了以下属性:translate ,itemScope ,itemType ,itemId ,itemRef ,itemProp ,properties 和 itemValue 。添加了以下方法:forceSpellcheck() 。将 onXYZ 属性移动到 GlobalEventHandlers 接口,并继承该接口。 |
HTML5 HTMLElement 的定义 |
推荐 | 添加了以下属性:dataset ,hidden ,tabindex ,accessKey ,accessKeyLabel ,draggable ,dropzone ,contentEditable ,isContentEditable ,contextMenu ,spellcheck ,commandType ,commandLabel ,commandIcon ,commandHidden ,commandDisabled ,commandChecked ,style 和所有的 onXYZ 。将 id 和 className 属性移到 Element 接口。 |
Document Object Model (DOM) Level 2 HTML Specification HTMLElement 的定义 |
已过时 | 自从 Document Object Model (DOM) Level 2 HTML Specification 以来没有变化。 |
Document Object Model (DOM) Level 1 Specification HTMLElement 的定义 |
已过时 | 初始定义。 |
桌面浏览器兼容性
特性 | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
基础支持 | 1 | 12 | 1 | 5.5 | 8 | 3 |
accessKey | 17 | 12 | 5 | 未知 | 支持 | 6 |
accessKeyLabel | 不支持 | 不支持 | 8 | 不支持 | 未知 | 14 |
animationcancel 事件 | 不支持 | 不支持 | 54 | 不支持 | 不支持 | 13.1 12 |
animationend 事件 | 43 | 12 | 支持 | 10 | 30 | 9 |
animationiteration 事件 | 43 | 12 | 51 | 10 | 30 | 9 |
animationstart 事件 | 43 | 12 | 51 | 10 | 30 | 9 |
autocapitalize | 66 | ≤79 | 未知 | 不支持 | 未知 | 未知 |
beforeinput 事件 | 支持 | 79 | 不支持 | 不支持 | 支持 | 支持 |
blur | 1 | 12 | 5 | 9 | 8 | 3 |
click() | 91 | 12 | 323 | 8 | 10.5 | 6 |
contentEditable | 1 | 12 | 3 | 8 | 9 | 6 |
contextMenu | 45 — 61 | ≤18 — 79 | 1 | 未知 | 未知 | 未知 |
dataset | 8 | 12 | 6 | 11 | 11 | 5.1 |
dir | 1 | 12 | 1 | 未知 | 支持 | 6 |
draggable | 7 | 12 | 2 | 支持 | 12 | 6 |
dropzone | 14 — 59 | ≤18 — 79 | 1 | 未知 | 未知 | 未知 |
focus | 1 | 12 | 5 | 9 | 8 | 3 |
forceSpellCheck | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 未知 |
gotpointercapture 事件 | 57 | ≤79 | 59 | 未知 | 44 | 未知 |
hidden | 6 | 12 | 1 | 11 | 11.6 | 6 |
inert | 60 | 79 | 未知 | 未知 | 47 | 未知 |
innerText | 1 | 12 | 45 | 5.5 | 9.6 | 3 |
input 事件 | 1 | 79 12 — 796 | 6 | 97 | 11.6 | 3.1 |
inputMode | 66 | ≤79 | 77 | 不支持 | 支持 | 未知 |
isContentEditable | 1 | 12 | 1 | 未知 | 支持 | 6 |
itemId | 17 — 28 | 不支持 | 6 | 不支持 | 11 — 15 | 未知 |
itemProp | 17 — 28 | 不支持 | 6 | 不支持 | 11 — 15 | 未知 |
itemRef | 17 — 28 | 不支持 | 6 | 不支持 | 11 — 15 | 未知 |
itemScope | 17 — 28 | 不支持 | 6 | 不支持 | 11 — 15 | 未知 |
itemType | 17 — 28 | 不支持 | 6 | 不支持 | 11 — 15 | 未知 |
itemValue | 17 — 28 | 不支持 | 6 | 不支持 | 11 — 15 | 未知 |
lang | 1 | 12 | 1 | 未知 | 支持 | 6 |
lostpointercapture 事件 | 57 | ≤79 | 59 | 未知 | 44 | 未知 |
noModule | 60 | ≤79 | 未知 | 不支持 | 47 | 未知 |
nonce | 61 | 79 | 75 | 不支持 | 支持 | 10 |
offsetHeight | 1 | 12 | 1 | 8 | 8 | 3 |
offsetLeft | 1 | 12 | 1 | 8 | 8 | 3 |
offsetParent | 1 | 12 | 1 | 8 | 8 | 3 |
offsetTop | 1 | 12 | 1 | 8 | 8 | 3 |
offsetWidth | 1 | 12 | 1 | 8 | 8 | 3 |
oncopy | 71 | 12 | 3 | 未知 | 支持 | 支持 |
oncut | 71 | 12 | 3 | 未知 | 支持 | 支持 |
onModule | 60 | ≤79 | 未知 | 未知 | 47 | 未知 |
onpaste | 71 | 12 | 3 | 未知 | 支持 | 支持 |
outerText | 43 | 12 | 不支持 | 支持 | 支持 | 6 |
pointercancel 事件 | 55 | 12 12 — 798 | 59 29 | 11 108 | 未知 | 不支持 |
pointerdown 事件 | 55 | 12 12 — 799 | 59 29 | 11 109 | 未知 | 不支持 |
pointerenter 事件 | 55 | 12 12 — 7910 | 59 29 | 11 1010 | 未知 | 不支持 |
pointerleave 事件 | 55 | 12 12 — 7911 | 59 29 | 11 1011 | 未知 | 不支持 |
pointermove 事件 | 55 | 12 12 — 7912 | 59 29 | 11 1012 | 未知 | 不支持 |
pointerout 事件 | 55 | 12 12 — 7913 | 59 29 | 11 1013 | 未知 | 不支持 |
pointerover 事件 | 55 | 12 12 — 7914 | 59 29 | 11 1014 | 未知 | 不支持 |
pointerup 事件 | 55 | 12 12 — 7915 | 59 29 | 11 1015 | 未知 | 不支持 |
spellcheck | 43 | 12 | 2 | 未知 | 支持 | 6 |
style | 45 | 12 | 1 | 8 | 8 | 11 |
tabIndex | 1 | 18 1216 | 1 | 816 | 支持 | 6 |
title | 1 | 12 | 1 | 未知 | 支持 | 6 |
transitioncancel 事件 | 74 | ≤79 | 53 | 未知 | 62 | 13.1 12 |
transitionend 事件 | 26 117 | ≤79 ≤7917 | 51 | 10 | 12.1 1517 11.6 — 1518 | 6.1 417 |
transitionrun 事件 | 74 | ≤79 | 53 | 未知 | 62 | 13.1 12 |
transitionstart 事件 | 74 | ≤79 | 53 | 未知 | 62 | 13.1 12 |
translate | 19 | 79 | 不支持 | 不支持 | 不支持 | 6 |
移动浏览器兼容性
特性 | Android | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari |
---|---|---|---|---|---|---|---|
基础支持 | 1 | 18 | 未知 | 4 | 未知 | 10.1 | 1 |
accessKey | 4.4 | 18 | 未知 | 5 | 未知 | 支持 | 支持 |
accessKeyLabel | 不支持 | 不支持 | 未知 | 8 | 未知 | 未知 | 14 |
animationcancel 事件 | 不支持 | 不支持 | 未知 | 54 | 未知 | 不支持 | 13.4 12 |
animationend 事件 | 43 | 43 | 未知 | 支持 | 未知 | 30 | 9 |
animationiteration 事件 | 43 | 43 | 未知 | 51 | 未知 | 30 | 9 |
animationstart 事件 | 43 | 43 | 未知 | 51 | 未知 | 30 | 9 |
autocapitalize | 66 | 66 | 未知 | 未知 | 未知 | 未知 | 未知 |
beforeinput 事件 | 支持 | 支持 | 未知 | 不支持 | 未知 | 支持 | 支持 |
blur | 4.4 | 18 | 未知 | 5 | 未知 | 10.1 | 1 |
click() | ≤375 | 181 | 未知 | 5 | 未知 | 11 | 6 |
contentEditable | 4.4 | 18 | 未知 | 4 | 未知 | 支持 | 支持 |
contextMenu | 45 — 61 | 45 — 61 | 未知 | 4 | 未知 | 未知 | 未知 |
dataset | 4.4 | 18 | 未知 | 6 | 未知 | 11 | 5.1 |
dir | 4.4 | 18 | 未知 | 4 | 未知 | 支持 | 支持 |
draggable | 4.4 | 18 | 未知 | 4 | 未知 | 支持 | 支持 |
dropzone | 4.4 — 59 | 18 — 59 | 未知 | 4 | 未知 | 未知 | 未知 |
focus | 4.4 | 18 | 未知 | 5 | 未知 | 10.1 | 1 |
forceSpellCheck | 不支持 | 不支持 | 未知 | 4 | 未知 | 未知 | 未知 |
gotpointercapture 事件 | 57 | 57 | 未知 | 不支持 | 未知 | 43 | 未知 |
hidden | ≤37 | 18 | 未知 | 4 | 未知 | 12 | 6 |
inert | 不支持 | 60 | 未知 | 未知 | 未知 | 44 | 未知 |
innerText | 4.4 | 18 | 未知 | 45 | 未知 | 10.1 | 4 |
input 事件 | 1 | 18 | 未知 | 6 | 未知 | 12 | 2 |
inputMode | 66 | 66 | 未知 | 不支持 | 未知 | 支持 | 未知 |
isContentEditable | 4.4 | 18 | 未知 | 4 | 未知 | 支持 | 支持 |
itemId | 不支持 | 18 — 28 | 未知 | 4 | 未知 | 未知 | 未知 |
itemProp | 不支持 | 18 — 28 | 未知 | 4 | 未知 | 未知 | 未知 |
itemRef | 不支持 | 18 — 28 | 未知 | 4 | 未知 | 未知 | 未知 |
itemScope | 不支持 | 18 — 28 | 未知 | 4 | 未知 | 未知 | 未知 |
itemType | 不支持 | 18 — 28 | 未知 | 4 | 未知 | 未知 | 未知 |
itemValue | 不支持 | 18 — 28 | 未知 | 4 | 未知 | 未知 | 未知 |
lang | 4.4 | 18 | 未知 | 4 | 未知 | 支持 | 支持 |
lostpointercapture 事件 | 57 | 57 | 未知 | 不支持 | 未知 | 43 | 未知 |
noModule | 60 | 60 | 未知 | 未知 | 未知 | 44 | 未知 |
nonce | 61 | 61 | 未知 | 不支持 | 未知 | 支持 | 10 |
offsetHeight | 1 | 18 | 未知 | 4 | 未知 | 10.1 | 1 |
offsetLeft | 1 | 18 | 未知 | 4 | 未知 | 10.1 | 1 |
offsetParent | 1 | 18 | 未知 | 4 | 未知 | 10.1 | 1 |
offsetTop | 1 | 18 | 未知 | 4 | 未知 | 10.1 | 1 |
offsetWidth | 1 | 18 | 未知 | 4 | 未知 | 10.1 | 1 |
oncopy | 71 | 71 | 未知 | 4 | 未知 | 支持 | 支持 |
oncut | 71 | 71 | 未知 | 4 | 未知 | 支持 | 支持 |
onModule | 60 | 60 | 未知 | 未知 | 未知 | 44 | 未知 |
onpaste | 71 | 71 | 未知 | 4 | 未知 | 支持 | 支持 |
outerText | 43 | 43 | 未知 | 不支持 | 未知 | 支持 | 支持 |
pointercancel 事件 | 55 | 55 | 未知 | 29 | 未知 | 未知 | 不支持 |
pointerdown 事件 | 55 | 55 | 未知 | 29 | 未知 | 未知 | 不支持 |
pointerenter 事件 | 55 | 55 | 未知 | 29 | 未知 | 未知 | 不支持 |
pointerleave 事件 | 55 | 55 | 未知 | 29 | 未知 | 未知 | 不支持 |
pointermove 事件 | 55 | 55 | 未知 | 29 | 未知 | 未知 | 不支持 |
pointerout 事件 | 55 | 55 | 未知 | 29 | 未知 | 未知 | 不支持 |
pointerover 事件 | 55 | 55 | 未知 | 29 | 未知 | 未知 | 不支持 |
pointerup 事件 | 55 | 55 | 未知 | 29 | 未知 | 未知 | 不支持 |
spellcheck | 43 | 43 | 未知 | 4 | 未知 | 支持 | 支持 |
style | 45 | 45 | 未知 | 4 | 未知 | 10.1 | 11 |
tabIndex | 4.4 | 18 | 未知 | 4 | 未知 | 支持 | 支持 |
title | 4.4 | 18 | 未知 | 4 | 未知 | 支持 | 支持 |
transitioncancel 事件 | 74 | 74 | 未知 | 53 | 未知 | 53 | 13.4 12 |
transitionend 事件 | ≤37 117 | 26 1817 | 未知 | 51 | 未知 | 12.1 1417 12 — 1418 | 7 3.217 |
transitionrun 事件 | 74 | 74 | 未知 | 53 | 未知 | 53 | 13.4 12 |
transitionstart 事件 | 74 | 74 | 未知 | 53 | 未知 | 53 | 13.4 12 |
translate | 4.4 | 25 | 未知 | 4 | 未知 | 支持 | 支持 |
1. 在 Chrome 19 之前,click()
仅在按钮和输入框上定义。
2. 在 Firefox 5 之前,click()
仅在按钮和输入框上定义,而对文本和文件输入无效。
3. 从 Firefox 75 开始,即使该元素未附加到 DOM 树,click()
函数也可以使用。
4. 在 Samsung Internet 1.5 之前,click()
仅在按钮和输入上定义。
5. 在 Android WebView 4.4 之前,click()
仅在按钮和输入上定义。
6. 不支持 select
,checkbox
或 radio
。
7. 仅支持类型为 text
和 password
的输入框。
8. 通过 mspointercancel
支持。
9. 通过 mspointerdown
支持。
10. 通过 mspointerenter
支持。
11. 通过 mspointerleave
支持。
12. 通过 mspointermove
支持。
13. 通过 mspointerout
支持。
14. 通过 mspointerover
支持。
15. 通过 mspointerup
支持。
16. 对于没有显式 tabindex 属性的元素,返回错误的值。有关详细信息,请参见问题 4365703。
17. 通过 webkitTransitionEnd
支持。
18. 通过 oTransitionEnd
支持。