HTML DOM Element 对象

Element 对象

在 HTML DOM 中,Element 对象代表 HTML 元素,如 P、DIV、A、TABLE 或任何其他 HTML 元素。

属性和方法

以下属性和方法可用于所有 HTML 元素:

属性 / 方法 描述
accessKey 设置或返回元素的 accesskey 属性。
addEventListener() 将事件处理程序附加到元素。
appendChild() 向元素添加(附加)新的子节点。
attributes 返回元素属性的 NamedNodeMap。
blur() 从元素中移除焦点。
childElementCount 返回元素的子元素个数。
childNodes 返回元素子节点的 NodeList。
children 返回元素的子元素的 HTMLCollection。
classList 返回元素的类名。
className 设置或返回元素的 class 属性值。
click() 模拟鼠标单击元素。
clientHeight 返回元素的高度,包括内边距。
clientLeft 返回元素左边框的宽度。
clientTop 返回元素上边框的宽度。
clientWidth 返回元素的宽度,包括内边距。
cloneNode() 克隆元素。
closest() 在 DOM 树中搜索与 CSS 选择器匹配的最接近的元素。
compareDocumentPosition() 比较两个元素的文档位置。
contains() 如果节点是节点的后代,则返回 true。
contentEditable 设置或返回元素的内容是否可编辑。
dir 设置或返回元素的 dir 属性的值。
firstChild 返回元素的第一个子节点。
firstElementChild 返回元素的第一个子元素。
focus() 让元素获得焦点。
getAttribute() 返回元素属性的值。
getAttributeNode() 返回属性节点。
getBoundingClientRect() 返回元素的大小及其相对于视口的位置。
getElementsByClassName() 返回拥有给定类名的子元素的集合。
getElementsByTagName() 返回拥有给定标签名称的子元素的集合。
hasAttribute() 如果元素拥有给定属性,则返回 true。
hasAttributes() 如果元素拥有任何属性,则返回 true。
hasChildNodes() 如果元素有任何子节点,则返回 true。
element.id 设置或返回元素 id 属性的值。
innerHTML 设置或返回元素的内容。
innerText 设置或返回节点及其后代的文本内容。
insertAdjacentElement() 在相对于元素的位置插入新的 HTML 元素。
insertAdjacentHTML() 在相对于元素的位置插入 HTML 格式的文本。
insertAdjacentText() 在相对于元素的位置插入文本。
insertBefore() 在现有子节点之前插入新子节点。
isContentEditable 如果元素的内容是可编辑的,则返回 true。
isDefaultNamespace() 如果给定的 namespaceURI 是默认值,则返回 true。
isEqualNode() 检查两个元素是否相等。
isSameNode() 检查两个元素是否是同一个节点。
isSupported() 已弃用。
lang 设置或返回元素的 lang 属性值。
lastChild 返回元素的最后一个子节点。
lastElementChild 返回元素的最后一个子元素。
matches() 如果元素与给定的 CSS 选择器匹配,则返回 true。
namespaceURI 返回元素的命名空间 URI。
nextSibling 返回位于相同节点树层级的下一个节点。
nextElementSibling 返回位于相同节点树层级的下一个元素。
nodeName 返回节点的名称。
nodeType 返回节点的节点类型。
nodeValue 设置或返回节点的值。
normalize() 合并元素中相邻的文本节点,并移除空的文本节点。
offsetHeight 返回元素的高度,包括内边距、边框和滚动条。
offsetWidth 返回元素的宽度,包括内边距、边框和滚动条。
offsetLeft 返回元素的水平偏移位置。
offsetParent 返回元素的偏移容器。
offsetTop 返回元素的垂直偏移位置。
outerHTML 设置或返回元素的内容(包括开始标签和结束标签)。
outerText 设置或返回节点及其后代的外部文本内容。
ownerDocument 返回元素的根元素(文档对象)。
parentNode 返回元素的父节点。
parentElement 返回元素的父元素节点。
previousSibling 返回位于相同节点树层级的上一个节点。
previousElementSibling 返回位于相同节点树层级的上一个元素。
querySelector() 返回与 CSS 选择器匹配的第一个子元素。
querySelectorAll() 返回与 CSS 选择器匹配的所有子元素。
remove() 从 DOM 中移除元素。
removeAttribute() 从元素中移除属性。
removeAttributeNode() 移除属性节点,并返回移除的节点。
removeChild() 从元素中移除子节点。
removeEventListener() 删除已使用 addEventListener() 方法附加的事件处理程序。
replaceChild() 替换元素中的子节点。
scrollHeight 返回元素的整体高度,包括内边距。
scrollIntoView() 将元素滚动到浏览器窗口的可见区域。
scrollLeft 设置或返回元素内容水平滚动的像素数。
scrollTop 设置或返回元素内容垂直滚动的像素数。
scrollWidth 返回元素的整体宽度,包括内边距。
setAttribute() 设置或更改属性的值。
setAttributeNode() 设置或更改属性节点。
style 设置或返回元素 style 属性的值。
tabIndex 设置或返回元素的 tabindex 属性的值。
tagName 返回元素的标签名。
textContent 设置或返回节点及其后代的文本内容。
title 设置或返回元素的 title 属性值。
toString() 将元素转换为字符串。

Element 接口详解

Element 接口表示 HTML 元素、XML元素或标记。tagName 属性指定了元素的名称。Document 的 documentElement 属性引用这个文档的根 Element 对象。HTMLDocument 对象的 body 属性也类似,它引用了文档的 <body> 元素。要在一个 HTML 文档中找到指定名称的元素,使用 Document.getElementById()(并通过 id 属性给该元素一个唯一的名称)。要通过标记名来定位元素,使用 getElementsByTagName(),这既是 Element 的方法也是 Document 的方法。在 HTML 文档中,也可以使用类似的 HTMLDocument.getElementsByName() 方法来根据元素的 name 属性来查找元素。最后,可以用 Document.createElement() 方法,创建插入文档的新 Element 元素。

addEventListener() 方法(及其特定于 IE 的替代方法 attachEvent() )提供了在该元素上为特定类型的事件注册事件句柄函数的方法。从技术上讲,addEventListener() 、removeEventListener() 和 dispatchEvent() 都是由2级 DOM Events 规范的 EventTarget 接口定义的。所有的 Element 对象都实现了 EventTarget。

这个接口的各种其他方法提供了对元素的属性的访问。在 HTML 文档中(以及许多 XML 文档中),所有属性都有简单的字符串值,并且你可以使用简单方法 getAttribute() 和 setAttribute() 进行所需的任何属性操作。

如果你在使用 XML 文档,它可能包含了 Entity 参考页作为属性值的一部分,你将必须使用 Attr 对象及其节点的子树。你可针对一个属性使用 getAttributeNode() 和 setAttributeNode() 来获取和设置 Attr 对象,或者可以在 Node 接口的 attributes[] 数组遍历 Attr 节点。如果您使用了一个用到 XML 名字空间的 XML 文档,需要使用名字带有 "NS" 的各种方法。

在 1 级 DOM 规范中, normalize() 方法是 Element 接口的一部分。在 2 级规范中,normalize() 则是 Node 接口的一部分。所有 Element 节点继承这个方法并且仍然可以使用它。

知识点:HTML DOM 节点

在 HTML DOM (文档对象模型)中,每个部分都是节点:

  • 文档本身是文档节点
  • 所有 HTML 元素是元素节点
  • 所有 HTML 属性是属性节点
  • HTML 元素内的文本是文本节点
  • 注释是注释节点

Element 对象

在 HTML DOM 中,Element 对象表示 HTML 元素。

Element 对象可以拥有类型为元素节点、文本节点、注释节点的子节点。

NodeList 对象表示节点列表,比如 HTML 元素的子节点集合。

元素也可以拥有属性。属性是属性节点(参见下一节)。