- Element 是一个通用性非常强的基类,所有 Document 对象下的对象都继承自它。这个接口描述了所有相同种类的元素所普遍具有的方法和属性。一些接口继承自 Element 并且增加了一些额外功能的接口描述了具体的行为。例如, HTMLElement 接口是所有 HTML 元素的基本接口,而 SVGElement 接口是所有 SVG 元素的基础。大多数功能是在这个类的更深层级(hierarchy)的接口中被进一步制定的。ne
- 在 Web 平台的领域以外的语言,比如 XUL,通过 XULElement 接口,同样也实现了 Element 接口。
- Element 对象有以下属性:
属性 |
说明 |
状态 |
attributes |
返回一个与该元素相关的所有属性集合 NamedNodeMap |
只读 |
classList |
返回该元素包含的 class 属性,是一个 DOMTokenList |
只读 |
className |
一个 DOMString,表示这个元素的 class |
|
clientHeight |
返回Number 表示内部相对于外层元素的高度。 |
只读 |
clientLeft |
返回Number表示该元素距离它左边界的宽度。 |
只读 |
clientTop |
返回 Number 表示该元素距离它上边界的高度 |
只读 |
clientWidth |
返回Number 表示该元素内部的宽度。 |
只读 |
computedName |
返回一个 DOMString ,其中包含公开给可访问性的标签。 |
只读 |
computedRole |
返回包含已应用于特定元素的 ARIA 角色的 DOMString。 |
只读 |
id |
表示这个元素的 id |
|
innerHTML |
表示这个元素的内容文本 |
|
localName |
示这个元素名称本地化的部分 |
只读 |
namespaceURI |
元素对应的 namespace URI ,如果没有则返回 null |
只读 |
nextElementSibling |
是一个Element, 该元素下一个兄弟节点,如果为 null 表示不存在 |
只读 |
outerHTML |
获取该 DOM 元素及其后代的 HTML 文本。在设置它的时候,会从给定的字符串开始解析,替换自身 |
|
prefix |
一个 DOMString 表示元素的命名空间前缀,如果没有指定前缀,则返回 null。 |
只读 |
previousElementSibling |
previousElementSibling |
只读 |
scrollHeight |
返回类型为: Number,表示元素的滚动视图高度 |
只读 |
scrollLeft |
返回类型为:Number,表示该元素横向滚动条距离最左的位移 |
|
scrollLeftMax |
返回类型为: Number,表示该元素横向滚动条可移动的最大值 |
只读 |
scrollTop |
返回类型为:Number ,表示该元素纵向滚动条距离 |
|
scrollTopMax |
返回类型为:Number ,表示该元素纵向滚动条可移动的最大值 |
只读 |
scrollWidth |
返回类型为: Number ,表示元素的滚动视图宽度 |
只读 |
shadowRoot |
返回由元素托管的开放影子根,如果不存在开放影子根,则返回 null |
只读 |
openOrClosedShadowRoot |
返回由元素托管的影子根,无论它是打开还是关闭。仅适用于 WebExtensions。 |
只读 |
slot |
返回插入元素的影子 DOM 插槽的名称 |
|
tabStop |
是一个布尔值,指示元素是否可以通过 tab 键接收输入焦点。 |
|
tagName |
返回带有给定元素标签名称的字符串 |
只读 |
undoManager |
返回与元素关联的 UndoManager。 |
只读 |
undoScope |
是一个布尔值,指示元素是否是撤消范围主机 |
|
ariaAtomic |
反映 aria-atomic 属性的字符串,指示辅助技术是根据 aria-relevant 属性定义的更改通知显示更改区域的全部还是仅显示部分更改区域。 |
|
ariaAutoComplete |
反映 aria-autocomplete 属性的字符串,指示输入文本是否可以触发对组合框、搜索框或文本框的用户预期值的一个或多个预测的显示,并指​​定在进行预测时如何呈现预测。 |
|
ariaBusy |
反映 aria-busy 属性的字符串,指示元素是否正在被修改,因为辅助技术可能希望等到修改完成后再将其公开给用户。 |
|
ariaChecked |
反映 aria-checked 属性的字符串,指示复选框、单选按钮和其他具有选中状态的小部件的当前“选中”状态。 |
|
ariaColCount |
反映 aria-colcount 属性的字符串,该属性定义表、网格或树形网格中的列数。 |
|
ariaColIndex |
反映 aria-colindex 属性的字符串,它定义元素的列索引或相对于表、网格或树网格中的总列数的位置 |
|
ariaColIndexText |
反映 aria-colindextext 属性的字符串,它定义了 aria-colindex 的人类可读文本替代。 |
|
ariaColSpan |
反映 aria-colspan 属性的字符串,该属性定义表格、网格或 treegrid 中的单元格或网格单元格跨越的列数 |
|
ariaCurrent |
反映 aria-current 属性的字符串,它指示表示容器或一组相关元素中的当前项的元素。 |
|
ariaDescription |
反映 aria-description 属性的字符串,该属性定义了描述或注释当前元素的字符串值。 |
|
ariaDisabled |
反映 aria-disabled 属性的字符串,表示该元素可感知但已禁用,因此不可编辑或以其他方式可操作。 |
|
ariaExpanded |
反映 aria-expanded 属性的字符串,指示该元素拥有或控制的分组元素是展开还是折叠。 |
|
ariaHasPopup |
反映 aria-haspopup 属性的字符串,指示可由元素触发的交互式弹出元素(例如菜单或对话框)的可用性和类型。 |
|
ariaHidden |
反映 aria-hidden 属性的字符串,指示元素是否暴露给可访问性 API。 |
|
ariaKeyShortcuts |
反映 aria-keyshortcuts 属性的字符串,指示作者为激活元素或将焦点赋予元素而实现的键盘快捷键。 |
|
ariaLabel |
反映 aria-label 属性的字符串,该属性定义了标记当前元素的字符串值。 |
|
ariaLevel |
反映 aria-level 属性的字符串,它定义结构中元素的层次级别。 |
|
ariaLive |
反映 aria-live 属性的字符串,指示元素将被更新,并描述用户代理、辅助技术和用户可以从实时区域获得的更新类型。 |
|
ariaModal |
反映 aria-modal 属性的字符串,指示元素在显示时是否为模态。 |
|
ariaMultiline |
反映 aria-multiline 属性的字符串,指示文本框是接受多行输入还是仅接受单行。 |
|
ariaMultiSelectable |
反映 aria-multiselectable 属性的字符串,表示用户可以从当前可选择的后代中选择多个项目。 |
|
ariaOrientation |
反映 aria-orientation 属性的字符串,指示元素的方向是水平、垂直还是未知/不明确 |
|
ariaPlaceholder |
反映 aria-placeholder 属性的字符串,它定义了一个简短的提示,旨在帮助用户在控件没有值时输入数据。 |
|
ariaPosInSet |
反映 aria-posinset 属性的字符串,它定义元素在当前列表项或树项集中的编号或位置 |
|
ariaPressed |
反映 aria-pressed 属性的字符串,指示切换按钮的当前“按下”状态 |
|
ariaReadOnly |
反映 aria-readonly 属性的字符串,表示该元素不可编辑,但可操作 |
|
ariaRelevant |
反映 aria-relevant 属性的字符串,指示当活动区域内的可访问性树被修改时,用户代理将触发哪些通知。这用于描述 aria-live 区域中的哪些变化是相关的并且应该被宣布。 |
|
ariaRequired |
反映 aria-required 属性的字符串,表示在提交表单之前需要用户输入元素 |
|
ariaRoleDescription |
反映 aria-roledescription 属性的字符串,它为元素的角色定义了人类可读的、作者本地化的描述 |
|
ariaRowCount |
反映 aria-rowcount 属性的字符串,该属性定义表、网格或树形网格中的总行数。 |
|
ariaRowIndex |
反映 aria-rowindex 属性的字符串,该属性定义元素的行索引或相对于表、网格或树网格中的总行数的位置。 |
|
ariaRowIndexText |
反映 aria-rowindextext 属性的字符串,它定义了 aria-rowindex 的人类可读文本替代 |
|
ariaRowSpan |
反映 aria-rowspan 属性的字符串,该属性定义表格、网格或 treegrid 中的单元格或网格单元格跨越的行数 |
|
ariaSelected |
反映 aria-selected 属性的字符串,指示具有选定状态的元素的当前“选定”状态。 |
|
ariaSetSize |
反映 aria-setsize 属性的字符串,该属性定义当前列表项或树项集中的项数 |
|
ariaSort |
反映 aria-sort 属性的字符串,指示表或网格中的项目是按升序还是降序排序 |
|
ariaValueMax |
反映 aria-valueMax 属性的字符串,该属性定义范围小部件的最大允许值 |
|
ariaValueMin |
反映 aria-valueMin 属性的字符串,该属性定义范围小部件的最小允许值。 |
|
ariaValueNow |
反映 aria-valueNow 属性的字符串,该属性定义范围小部件的当前值。 |
|
ariaValueText |
反映 aria-valuetext 属性的字符串,它为范围小部件定义 aria-valuenow 的人类可读文本替代项 |
|
- Element 对象有以下方法:
方法 |
说明 |
addEventListener() |
将事件处理程序注册到元素上的特定事件类型。 |
after() |
在元素的父元素的子列表中插入一组节点对象或字符串,就在元素之后。 |
attachShadow() |
将阴影 DOM 树附加到指定元素并返回对其 ShadowRoot 的引用。 |
animate() |
在元素上创建和运行动画的快捷方法。返回创建的动画对象实例 |
append() |
在元素的最后一个子元素之后插入一组 Node 对象或字符串 |
before() |
在 Element 父级的子列表中插入一组 Node 对象或字符串,就在 Element 之前 |
closest() |
返回与参数中给定的选择器匹配的当前元素(或当前元素本身)的最近祖先元素 |
computedStyleMap() |
返回一个 StylePropertyMapReadOnly 接口,它提供 CSS 声明块的只读表示,它是 CSSStyleDeclaration 的替代方案 |
dispatchEvent() |
向 DOM 中的该节点分派一个事件并返回一个布尔值,指示是否没有处理程序取消该事件 |
getAnimations() |
返回元素上当前活动的动画对象数组。 |
getAttribute() |
从当前节点检索命名属性的值并将其作为字符串返回。 |
getAttributeNames() |
从当前元素返回一个属性名称数组 |
getAttributeNode() |
从当前节点检索命名属性的节点表示并将其作为 Attr 返回 |
getAttributeNodeNS() |
从当前节点检索具有指定名称和命名空间的属性的节点表示,并将其作为 Attr 返回。 |
getAttributeNS() |
从当前节点检索具有指定命名空间和名称的属性的值,并将其作为字符串返回。 |
getBoundingClientRect() |
返回元素的大小及其相对于视口的位置。 |
getBoxQuads() |
返回代表节点的 CSS 片段的 DOMQuad 对象列表 |
getClientRects() |
返回一个矩形集合,指示客户端中每行文本的边界矩形 |
getElementsByClassName() |
返回一个活动的 HTMLCollection,其中包含当前元素的所有后代,这些后代拥有参数中给定的类列表。 |
getElementsByTagName() |
从当前元素返回包含特定标签名称的所有后代元素的实时 HTMLCollection |
getElementsByTagNameNS() |
从当前元素返回包含特定标记名称和命名空间的所有后代元素的实时 HTMLCollection |
hasAttribute() |
返回一个布尔值,指示元素是否具有指定的属性。 |
hasAttributeNS() |
返回一个布尔值,指示元素是否在指定的命名空间中具有指定的属性 |
hasAttributes() |
返回一个布尔值,指示元素是否存在一个或多个 HTML 属性。 |
hasPointerCapture() |
指示调用它的元素是否具有由给定指针 ID 标识的指针的指针捕获 |
insertAdjacentElement() |
在相对于调用它的元素的给定位置插入给定元素节点 |
insertAdjacentHTML() |
将文本解析为 HTML 或 XML,并将生成的节点插入到树中给定的位置 |
insertAdjacentText() |
在相对于调用它的元素的给定位置插入给定文本节点 |
matches() |
返回一个布尔值,指示元素是否会被指定的选择器字符串选择 |
prepend() |
在元素的第一个子元素之前插入一组 Node 对象或字符串 |
querySelector() |
返回与元素相关的指定选择器字符串匹配的第一个节点 |
querySelectorAll() |
返回与元素相关的指定选择器字符串匹配的节点的 NodeList |
releasePointerCapture() |
释放(停止)先前为特定指针事件设置的指针捕获。 |
remove() |
从其父级的子级列表中删除该元素。 |
removeAttribute() |
从当前节点中删除命名属性。 |
removeAttributeNode() |
从当前节点中删除命名属性的节点表示。 |
removeAttributeNS() |
从当前节点中删除具有指定名称和命名空间的属性。 |
removeEventListener() |
从元素中移除事件监听器。 |
replaceChildren() |
用一组指定的新子代替换节点的现有子代 |
replaceWith() |
用一组 Node 对象或字符串替换其父级的子级列表中的元素。 |
requestFullscreen() |
异步请求浏览器使元素全屏显示。 |
requestPointerLock() |
允许异步请求将指针锁定在给定元素上 |
scroll() |
滚动到给定元素内的一组特定坐标 |
scrollBy() |
将元素滚动给定数量。 |
scrollIntoView() |
滚动页面直到元素进入视图 |
scrollIntoViewIfNeeded() |
如果当前元素尚未在浏览器窗口的可见区域内,则将其滚动到浏览器窗口的可见区域。请改用标准的 Element.scrollIntoView()。 |
scrollTo() |
滚动到给定元素内的一组特定坐标 |
setAttribute() |
设置当前节点的命名属性的值 |
setAttributeNode() |
从当前节点设置命名属性的节点表示。 |
setAttributeNodeNS() |
从当前节点设置具有指定名称和命名空间的属性的节点表示 |
setAttributeNS() |
从当前节点设置具有指定名称和命名空间的属性值 |
setHTML() |
解析和清理 HTML 字符串并作为元素的子树插入 DOM |
setPointerCapture() |
指定特定元素作为未来指针事件的捕获目标 |
toggleAttribute() |
在指定元素上切换布尔属性,如果存在则删除它,如果不存在则添加它 |
- Element 对象有以下事件:
基本事件 |
说明 |
cancel |
当用户指示浏览器他们希望关闭当前打开的对话框时在 <dialog> 上触发。例如,当用户按下 Esc 键或单击作为浏览器 UI 一部分的“关闭对话框”按钮时,浏览器可能会触发此事件 |
error |
当资源加载失败或无法使用时触发。例如,如果脚本执行错误或图像无法找到或无效。 |
scroll |
滚动文档视图或元素时触发 |
select |
当某些文本被选中时触发 |
wheel |
当用户在定点设备(通常是鼠标)上旋转滚轮按钮时触发 |
剪贴板事件 |
说明 |
copy |
当用户通过浏览器的用户界面启动复制操作时触发。也可以通过 oncopy 属性获得。 |
cut |
当用户通过浏览器的用户界面启动剪切操作时触发。也可以通过 oncut 属性获得。 |
paste |
当用户通过浏览器的用户界面启动粘贴操作时触发。也可以通过 onpaste 属性获得 |
合成事件 |
说明 |
compositionend |
当文本合成系统(例如输入法编辑器)完成或取消当前合成会话时触发 |
compositionstart |
当文本合成系统(如输入法编辑器)启动新的合成会话时触发。 |
compositionupdate |
在由文本合成系统(例如输入法编辑器)控制的文本合成会话的上下文中接收到新字符时触发 |
焦点事件 |
说明 |
blur |
当元素失去焦点时触发。 |
focus |
当元素获得焦点时触发 |
focusin |
当元素即将获得焦点时激发 |
focusout |
当元素即将失去焦点时激发 |
全屏事件 |
说明 |
fullscreenchange |
当元素转换为全屏模式或退出全屏模式时发送给元素 |
fullscreenerror |
如果在尝试将元素切换到全屏模式或从全屏模式切换到非全屏模式时发生错误,则发送给元素 |
键盘事件 |
说明 |
keydown |
按下键时激发 |
keyup |
释放键时触发。 |
鼠标事件 |
说明 |
auxclick |
当在元素上按下并释放非主要指针设备按钮(例如,除左键以外的任何鼠标按钮)时触发 |
click |
当在单个元素上按下并释放定点设备按钮(例如,鼠标的主按钮)时触发 |
contextmenu |
当用户尝试打开上下文菜单时触发 |
dblclick |
当在单个元素上单击两次指点设备按钮(例如,鼠标的主按钮)时触发。 |
mousedown |
在元素上按下定点设备按钮时触发 |
mouseenter |
当指点设备(通常是鼠标)移动到附加了侦听器的元素上时触发 |
mouseleave |
当指点设备(通常是鼠标)的指针移出附有侦听器的元素时触发。 |
mousemove |
当指针设备(通常是鼠标)在元素上移动时触发 |
mouseout |
当指点设备(通常是鼠标)移离侦听器所连接的元素或其子元素之一时触发。 |
mouseover |
当指点设备移动到侦听器所连接的元素或其子元素之一时触发。 |
mouseup |
在元素上释放指针设备按钮时触发。 |
webkitmouseforcechanged |
每次触控板触摸屏上的压力量发生变化时触发。 |
webkitmouseforcedown |
只要施加足够的压力以符合“强制单击”的条件,就会在 mousedown 事件后触发 |
webkitmouseforcewillbegin |
在 mousedown 事件之前触发 |
webkitmouseforceup |
在webkitmouseforforforcedown事件发生后,一旦压力降低到足以结束“强制点击”时立即触发。 |
触摸事件 |
说明 |
touchcancel |
当一个或多个接触点以特定于实现的方式中断时触发(例如,创建了太多接触点) |
touchend |
当一个或多个接触点从接触面上移除时激发 |
touchmove |
当一个或多个触摸点沿触摸表面移动时激发 |
touchstart |
当一个或多个接触点放置在接触面上时激发 |
来自 <https://developer.mozilla.org/en-US/docs/Web/API/Element#keyboard_events>