JavaScript DOM对象
2025-05-15
Document
当浏览器载入 HTML 文档, 它就会成为 Document 对象。
Document 对象是 HTML 文档的根节点。
Document 对象使我们可以从脚本中对 HTML 页面中的所有元素进行访问。
提示:Document 对象是 Window 对象的一部分,可通过 window.document 属性对其进行访问。
属性和方法
Document 对象具有以下属性和方法:
| 属性/方法 | 描述 |
|---|---|
| activeElement | 返回当前获取焦点元素 |
| addEventListener() | 向文档添加句柄 |
| adoptNode(node) | 从另外一个文档返回 adapded 节点到当前文档。 |
| anchors | 返回对文档中所有 Anchor 对象的引用。 |
| applets | 返回对文档中所有 Applet 对象的引用。 注意: HTML5 已不支持 <applet> 元素。 |
| baseURI | 返回文档的绝对基础 URI |
| body | 返回文档的body元素 |
| close() | 关闭用 document.open() 方法打开的输出流,并显示选定的数据。 |
| cookie | 设置或返回与当前文档有关的所有 cookie。 |
| createAttribute() | 创建一个属性节点 |
| createComment() | createComment() 方法可创建注释节点。 |
| createDocumentFragment() | 创建空的 DocumentFragment 对象,并返回此对象。 |
| createElement() | 创建元素节点。 |
| createTextNode() | 创建文本节点。 |
| doctype | 返回与文档相关的文档类型声明 (DTD)。 |
| documentElement | 返回文档的根节点 |
| documentMode | 返回用于通过浏览器渲染文档的模式 |
| documentURI | 设置或返回文档的位置 |
| domain | 返回当前文档的域名。 |
| domConfig | 已废弃。返回 normalizeDocument() 被调用时所使用的配置。 |
| embeds | 返回文档中所有嵌入的内容(embed)集合 |
| forms | 返回对文档中所有 Form 对象引用。 |
| getElementsByClassName() | 返回文档中所有指定类名的元素集合,作为 NodeList 对象。 |
| getElementById() | 返回对拥有指定 id 的第一个对象的引用。 |
| getElementsByName() | 返回带有指定名称的对象集合。 |
| getElementsByTagName() | 返回带有指定标签名的对象集合。 |
| images | 返回对文档中所有 Image 对象引用。 |
| implementation | 返回处理该文档的 DOMImplementation 对象。 |
| importNode() | 把一个节点从另一个文档复制到该文档以便应用。 |
| inputEncoding | 返回用于文档的编码方式(在解析时)。 |
| lastModified | 返回文档被最后修改的日期和时间。 |
| links | 返回对文档中所有 Area 和 Link 对象引用。 |
| normalize() | 删除空文本节点,并连接相邻节点 |
| normalizeDocument() | 删除空文本节点,并连接相邻节点的 |
| open() | 打开一个流,以收集来自任何 document.write() 或 document.writeln() 方法的输出。 |
| querySelector() | 返回文档中匹配指定的CSS选择器的第一元素 |
| querySelectorAll() | document.querySelectorAll() 是 HTML5中引入的新方法,返回文档中匹配的CSS选择器的所有元素节点列表 |
| readyState | 返回文档状态 (载入中……) |
| referrer | 返回载入当前文档的文档的 URL。 |
| removeEventListener() | 移除文档中的事件句柄(由 addEventListener() 方法添加) |
| renameNode() | 重命名元素或者属性节点。 |
| scripts | 返回页面中所有脚本的集合。 |
| strictErrorChecking | 设置或返回是否强制进行错误检查。 |
| title | 返回当前文档的标题。 |
| URL | 返回文档完整的URL |
| write() | 向文档写 HTML 表达式 或 JavaScript 代码。 |
| writeln() | 等同于 write() 方法,不同的是在每个表达式之后写一个换行符。 |
元素
在 HTML DOM (Document Object Model) 中, 每个东西都是 节点 :
- 文档本身就是一个文档对象
- 所有 HTML 元素都是元素节点
- 所有 HTML 属性都是属性节点
- 插入到 HTML 元素文本是文本节点
- 注释是注释节点
属性和方法
以下属性和方法可适用于所有 HTML 元素:
| 属性/方法 | 描述 |
|---|---|
| accessKey | 设置或返回accesskey一个元素 |
| addEventListener() | 向指定元素添加事件句柄 |
| appendChild() | 为元素添加一个新的子元素 |
| attributes | 返回一个元素的属性数组 |
| childNodes | 返回元素的一个子节点的数组 |
| children | 返回元素的子元素的集合 |
| classList | 返回元素的类名,作为 DOMTokenList 对象。 |
| className | 设置或返回元素的class属性 |
| clientTop | 表示一个元素的顶部边框的宽度,以像素表示。 |
| clientLeft | 表示一个元素的左边框的宽度,以像素表示。 |
| clientHeight | 在页面上返回内容的可视高度(高度包含内边距(padding),不包含边框(border),外边距(margin)和滚动条) |
| clientWidth | 在页面上返回内容的可视宽度(宽度包含内边距(padding),不包含边框(border),外边距(margin)和滚动条) |
| cloneNode() | 克隆某个元素 |
| compareDocumentPosition() | 比较两个元素的文档位置。 |
| contentEditable | 设置或返回元素的内容是否可编辑 |
| dir | 设置或返回一个元素中的文本方向 |
| firstElementChild | 返回元素的第一个子元素 |
| firstChild | 返回元素的第一个子节点 |
| focus() | 设置文档或元素获取焦点 |
| getAttribute() | 返回指定元素的属性值 |
| getAttributeNode() | 返回指定属性节点 |
| getElementsByTagName() | 返回指定标签名的所有子元素集合。 |
| getElementsByClassName() | 返回文档中所有指定类名的元素集合,作为 NodeList 对象。 |
| getFeature() | 返回指定特征的执行APIs对象。 |
| getUserData() | 返回一个元素中关联键值的对象。 |
| hasAttribute() | 如果元素中存在指定的属性返回 true,否则返回false。 |
| hasAttributes() | 如果元素有任何属性返回true,否则返回false。 |
| hasChildNodes() | 返回一个元素是否具有任何子元素 |
| hasFocus() | 返回布尔值,检测文档或元素是否获取焦点 |
| id | 设置或者返回元素的 id。 |
| innerHTML | 设置或者返回元素的内容。 |
| insertBefore() | 现有的子元素之前插入一个新的子元素 |
| isContentEditable | 如果元素内容可编辑返回 true,否则返回false |
| isDefaultNamespace() | 如果指定了namespaceURI 返回 true,否则返回 false。 |
| isEqualNode() | 检查两个元素是否相等 |
| isSameNode() | 检查两个元素所有有相同节点。 |
| isSupported() | 如果在元素中支持指定特征返回 true。 |
| lang | 设置或者返回一个元素的语言。 |
| lastChild | 返回最后一个子节点 |
| lastElementChild | 返回指定元素的最后一个子元素 |
| matches() | 如果元素匹配指定的 CSS 选择器,matches() 方法就返回 true,否则返回 false。 |
| namespaceURI | 返回命名空间的 URI。 |
| nextSibling | 返回该元素紧跟的一个节点 |
| nextElementSibling | 返回指定元素之后的下一个兄弟元素(相同节点树层中的下一个元素节点)。 |
| nodeName | 返回元素的标记名(大写) |
| nodeType | 返回元素的节点类型 |
| nodeValue | 返回元素的节点值 |
| normalize() | 使得此成为一个"normal"的形式,其中只有结构(如元素,注释,处理指令,CDATA节和实体引用)隔开Text节点, 即元素(包括属性)下面的所有文本节点,既没有相邻的文本节点也没有空的文本节点 |
| offsetHeight | 返回任何一个元素的高度包括边框(border)和内边距(padding),但不包含外边距(margin) |
| offsetWidth | 返回元素的宽度,包括边框(border)和内边距(padding),但不包含外边距(margin) |
| offsetLeft | 返回当前元素的相对水平偏移位置的偏移容器 |
| offsetParent | 返回元素的偏移容器 |
| offsetTop | 返回当前元素的相对垂直偏移位置的偏移容器 |
| ownerDocument | 返回元素的根元素(文档对象) |
| parentNode | 返回元素的父节点 |
| previousSibling | 返回某个元素紧接之前元素 |
| previousElementSibling | 返回指定元素的前一个兄弟元素(相同节点树层中的前一个元素节点)。 |
| querySelector() | 返回匹配指定 CSS 选择器元素的第一个子元素 |
| querySelectorAll() | 返回匹配指定 CSS 选择器元素的所有子元素节点列表 |
| removeAttribute() | 从元素中删除指定的属性 |
| removeAttributeNode() | 删除指定属性节点并返回移除后的节点。 |
| removeChild() | 删除一个子元素 |
| removeEventListener() | 移除由 addEventListener() 方法添加的事件句柄 |
| replaceChild() | 替换一个子元素 |
| scrollHeight | 返回整个元素的高度(包括带滚动条的隐蔽的地方) |
| scrollLeft | 返回当前视图中的实际元素的左边缘和左边缘之间的距离 |
| scrollTop | 返回当前视图中的实际元素的顶部边缘和顶部边缘之间的距离 |
| scrollWidth | 返回元素的整个宽度(包括带滚动条的隐蔽的地方) |
| setAttribute() | 设置或者改变指定属性并指定值。 |
| setAttributeNode() | 设置或者改变指定属性节点。 |
| setIdAttribute() | |
| setIdAttributeNode() | |
| setUserData() | 在元素中为指定键值关联对象。 |
| style | 设置或返回元素的样式属性 |
| tabIndex | 设置或返回元素的标签顺序。 |
| tagName | 作为一个字符串返回某个元素的标记名(大写) |
| textContent | 设置或返回一个节点和它的文本内容 |
| title | 设置或返回元素的title属性 |
| toString() | 一个元素转换成字符串 |
| nodelist.item() | 返回某个元素基于文档树的索引 |
| nodelist.length | 返回节点列表的节点数目。 |
属性
在 HTML DOM 中, Attr 对象 代表一个 HTML 属性。
HTML属性总是属于HTML元素。
属性和方法
以下属性和方法可适用于 Attr 对象:
| 属性/方法 | 描述 |
|---|---|
| attr.isId | 如果属性是 ID 类型,则 isId 属性返回 true,否则返回 false。 |
| attr.name | 返回属性名称 |
| attr.value | 设置或者返回属性值 |
| attr.specified | 如果属性被指定返回 true ,否则返回 false |
| nodemap.getNamedItem() | 从节点列表中返回的指定属性节点。 |
| nodemap.item() | 返回节点列表中处于指定索引号的节点。 |
| nodemap.length | 返回节点列表的节点数目。 |
| nodemap.removeNamedItem() | 删除指定属性节点 |
| nodemap.setNamedItem() | 设置指定属性节点(通过名称) |
事件
Console
Console 对象提供了访问浏览器调试模式的信息到控制台。
属性和方法
以下属性和方法可适用于 Console 对象:
| 属性/方法 | 描述 |
|---|---|
| assert() | 在控制台输出一条警告消息,如果表达式为 false。 |
| clear() | 清除控制台的输出。 |
| count() | 输出一个计数器,每调用一次 count() 方法,计数器的值就会加 1。 |
| debug() | 输出一个调试消息。 |
| dir() | 输出一个 JavaScript 对象。 |
| dirxml() | 输出一个 XML/HTML 元素。 |
| error() | 输出一个错误消息。 |
| group() | 创建一个分组,在控制台输出一组相关消息。 |
| groupEnd() | 结束一个分组。 |
| info() | 输出一个信息消息。 |
| log() | 输出一个消息。 |
| profile() | 开始一个性能分析。 |
| profileEnd() | 结束一个性能分析。 |
| table() | 输出一个数组或对象作为表格。 |
| time() | 开始一个计时器,记录一个时间戳。 |
| timeEnd() | 停止一个计时器,记录一个时间戳并输出结果。 |
| trace() | 输出一个堆栈跟踪。 |
| warn() | 输出一个警告消息。 |
CSSStyleDeclaration
CSSStyleDeclaration 对象表示一个元素的样式属性。
属性和方法
以下属性和方法可适用于 CSSStyleDeclaration 对象:
| 属性/方法 | 描述 |
|---|---|
| cssText | 设置或返回整个样式属性的字符串。 |
| length | 返回样式属性的数量。 |
| parentRule | 返回包含当前样式属性的规则。 |
| getPropertyValue() | 返回指定样式属性的值。 |
| getPropertyPriority() | 返回指定样式属性的优先级。 |
| item() | 返回样式属性的名称。 |
| removeProperty() | 删除指定样式属性。 |
| setProperty() | 设置或更改指定样式属性的值和优先级。 |
HTMLCollection
HTMLCollection 对象表示一个节点集合。
属性和方法
以下属性和方法可适用于 HTMLCollection 对象:
| 属性/方法 | 描述 |
|---|---|
| length | 返回节点的数量。 |
| item() | 返回指定索引号的节点。 |
| namedItem() | 返回指定名称的节点。 |
NodeList
NodeList 对象表示一个节点列表。
属性和方法
以下属性和方法可适用于 NodeList 对象:
| 属性/方法 | 描述 |
|---|---|
| length | 返回节点的数量。 |
| item() | 返回指定索引号的节点。 |