Skip to content

DOM

EventTarget

方法

  • eventTarget.addEventListener()(type, listener, options? | useCapture?),用于为 DOM 元素绑定事件监听器的核心方法,支持精细控制事件触发的阶段、频率及生命周期。
  • eventTarget.removeEventListener()(type, listener, options? | useCapture?),用于移除通过 addEventListener 绑定的事件监听器的方法。正确使用它可以避免内存泄漏和重复事件触发问题。
  • eventTarget.dispatchEvent()(event),用于手动触发自定义或原生事件的方法。

Document

属性

  • document.documentElementElement只读,返回当前文档的直接子节点。对于 HTML 文档一般代表该文档的 html 元素。
  • document.bodybody|frameset|null,获取或设置当前文档的 bodyframeset节点(不常用设置)。
  • document.headHTMLHeadElement只读,返回当前文档的 head 元素。
  • document.titlestring,获取或设置当前文档的标题
  • document.doctypeDocumentType只读,返回当前文档的文档类型定义DTD<!DOCTYPE html>)。
  • document.imagesHTMLCollection只读,返回当前文档中所包含的图片的 HTMLCollection。
  • document.scriptsHTMLCollection只读,返回包含文档中所有的 script 元素的 HTMLCollection。
  • document.linksHTMLCollection只读,返回一个包含文档中所有超链接的 HTMLCollection。
  • document.formsHTMLCollection只读,返回一个包含当前文档中所有表单元素 form 的 HTMLCollection。
  • document.cookiestring,返回一个使用分号分隔的 cookie 列表,或设置(写入)一个 cookie。

方法

元素查询

元素创建

文本写入

  • document.write()(...content)不建议,用于向 HTML 文档直接写入内容的方法(可能引发副作用)。

Node

属性

节点导航

  • node.parentNodeNode|null只读,返回一个当前节点的父节点
  • node.previousSiblingNode|null只读,返回与该节点同级的前一个节点
  • node.nextSiblingNode|null只读,返回与该节点同级的下一个节点
  • node.childNodesNodeList只读,返回一个包含了该节点所有子节点动态变化的的NodeList。
  • node.firstChildNode|null只读,返回该节点的第一个子节点
  • node.lastChildNode|null只读,返回该节点的最后一个子节点

元素导航

节点属性

  • node.nodeTypenumber只读,用于标识节点的类型
  • node.nodeNameDOMString只读,返回当前节点的节点名称。
  • node.textContentstring|null,返回/设置一个元素内所有子节点及其后代的文本内容
  • node.outerHTMLDOMString,获取/设置 HTML 语法表示的元素以及其后代
  • node.data/nodeValue:``,获取非元素节点的文本内容。

方法

克隆节点

  • node.cloneNode()(deep?),用于克隆 DOM 节点的方法,可生成当前节点的副本。通过参数控制是否深度复制子节点,适用于需要复用或动态生成相似结构的场景。

传统元素操作方法

Element

Element

属性

基本属性

  • el.attributesNamedNodeMap只读,返回包含相应 HTML 元素的指定属性
  • el.classListDOMTokenList只读,返回该元素包含的所有 class 属性
  • el.classNamestring,表示这个元素的类名
  • el.idstring,表示此元素的 id 值
  • el.tagNamestring只读,返回当前元素的标签名
  • el.innerHTMLstring读取或修改 HTML 元素内容的属性。可以操作元素内部的 HTML 结构(包括标签和文本)。
  • el.outerHTMLstring只读,代表元素的标记(包括其内容)。作为 setter 使用时,将用从给定字符串解析出的节点替换元素。

元素导航

尺寸位置


方法

插入元素

  • el.append()(...nodesOrStrings),用于向 DOM 节点的子节点列表末尾插入一个或多个节点或字符串的方法。
  • el.prepend()(...nodesOrStrings),用于向 DOM 节点的子节点列表开头插入一个或多个节点或字符串的方法。
  • el.before()(...nodesOrStrings),用于在指定节点的前面插入一个或多个节点或字符串的方法。
  • el.after()(...nodesOrStrings),用于在指定节点的后面插入一个或多个节点或字符串的方法。
  • el.replaceWith()(...nodesOrStrings),用于替换 DOM 节点的方法,它可以将当前节点替换为一个或多个新节点或字符串。

移除元素

  • el.remove()(),用于从 DOM 树中移除当前元素节点的方法。直接作用于目标元素,无需通过父节点操作。

滚动

  • el.scrollTo() / window.scrollTo()(x, y)({left,top,behavior}),用于控制可滚动元素滚动位置的方法。适用于overflow设置为 scroll 或 auto 的元素。
  • el.scrollBy() / window.scrollBy()(x, y)({left,top,behavior}),用于控制可滚动元素相对当前位置滚动的方法。
  • el.scrollIntoView()(alignToTop)({behavior,block,inline}),用于将元素滚动到浏览器窗口或可滚动容器可视区域的方法。

属性操作

  • el.getAttribute()(attributeName),从当前节点获取指定属性的值,并以字符串形式返回。
  • el.setAttribute()(name, value)设置当前节点的指定属性值,若属性不存在则创建。
  • el.hasAttribute()(attributeName),返回一个布尔值,表示元素是否具有指定属性
  • el.removeAttribute()(attrName),从当前节点删除指定属性。

classList:

HTMLElement

属性

  • el.datasetDOMStringMap,用于访问和操作 HTML 元素的自定义数据属性(data-* 的属性。
  • el.draggableboolean,设置/获取元素是否可以拖拽
  • el.hiddenboolean,获取/设置元素是否隐藏
  • el.styleCSSStyleDeclaration,获取/设置元素的 style 属性。