OBJUI

JavaScript之DOM剖析

2025-01-04 13:03:33 71

JavaScript 的 DOM(文档对象模型,Document Object Model)是一种编程接口,它将 HTML 或 XML 文档的内容表示为树状结构,并允许 JavaScript 动态地访问和更新文档的内容、结构和样式。以下是关于 JavaScript DOM 的详细介绍:

一、DOM 的基本概念

  1. DOM 树
    • DOM 将 HTML 文档表示为一个树状结构,其中每个元素、属性、文本节点等都是树的一个节点。
    • 树的根节点通常是 <html> 元素,其他元素作为其子节点依次排列。
  2. 节点类型
    • DOM 定义了多种节点类型,如元素节点、文本节点、注释节点、属性节点等。
    • 每种节点类型都有其特定的属性和方法,用于访问和操作该类型的节点。
  3. 文档对象
    • document 对象是整个 DOM 树的入口点,代表整个载入的网页。
    • 通过 document 对象,可以访问和操作 DOM 树中的任何节点。

二、访问 DOM 节点

  1. 通过 ID 访问
    • 使用 document.getElementById(id) 方法可以根据元素的 ID 属性获取对应的元素节点。
  2. 通过类名访问
    • 使用 document.getElementsByClassName(className) 方法可以获取具有指定类名的所有元素节点(返回一个类数组对象)。
  3. 通过标签名访问
    • 使用 document.getElementsByTagName(tagName) 方法可以获取具有指定标签名的所有元素节点(返回一个类数组对象)。
  4. 通过选择器访问
    • document.querySelector(selector) 方法返回匹配指定 CSS 选择器的第一个元素。
    • document.querySelectorAll(selector) 方法返回匹配指定 CSS 选择器的所有元素(返回一个 NodeList 对象)。

三、操作 DOM 节点

  1. 创建和插入节点
    • 使用 document.createElement(tagName) 方法可以创建一个新的元素节点。
    • 使用 appendChild(node) 方法可以将一个节点添加到其父节点的子节点列表的末尾。
    • 使用 insertBefore(newNode, referenceNode) 方法可以将一个节点插入到另一个节点之前。
  2. 删除节点
    • 使用 removeChild(node) 方法可以从父节点中删除一个子节点。
  3. 替换节点
    • 使用 replaceChild(newNode, oldNode) 方法可以用一个新节点替换一个旧节点。
  4. 克隆节点
    • 使用 cloneNode(deep) 方法可以克隆一个节点。如果 deep 参数为 true,则进行深度克隆(包括子节点);如果为 false,则进行浅克隆(不包括子节点)。

四、操作节点属性和内容

  1. 属性操作
    • 可以使用 element.setAttribute(name, value) 方法设置元素的属性。
    • 使用 element.getAttribute(name) 方法可以获取元素的属性值。
    • 使用 element.removeAttribute(name) 方法可以删除元素的属性。
  2. 内容操作
    • 使用 element.innerHTML 属性可以设置或获取元素内部的 HTML 内容。
    • 使用 element.textContent 属性可以设置或获取元素内部的文本内容。

五、操作节点样式

  1. 内联样式操作
    • 可以直接通过 element.style 属性设置或获取元素的内联样式。例如,element.style.color = "red" 会将元素的文本颜色设置为红色。
  2. 类名操作
    • 使用 element.className 属性可以设置或获取元素的类名。
    • 使用 element.classList 属性可以操作元素的类列表(添加、删除、切换类等)。

六、事件处理

  1. 事件监听
    • 可以使用 addEventListener(event, handler, [options]) 方法为元素添加事件监听器。当指定的事件发生时,会调用指定的处理函数。
  2. 事件处理函数
    • 事件处理函数是当事件发生时执行的代码。在函数内部,可以使用事件对象(传递给处理函数的参数)来获取有关事件的信息。

七、遍历 DOM 树

  1. 节点导航
    • 可以使用节点的父节点(parentNode)、子节点(childNodeschildren)、兄弟节点(previousSiblingnextSiblingpreviousElementSiblingnextElementSibling)等属性来遍历 DOM 树。
  2. 遍历方法
    • 可以使用 for 循环、forEach 方法、for...of 循环等遍历 DOM 节点列表。

综上所述,JavaScript 的 DOM 提供了一种强大而灵活的方式来访问和操作 HTML 文档的内容、结构和样式。通过掌握 DOM 的基本概念和操作方法,可以开发出更加动态和交互性强的 Web 应用程序。

更多精彩,请关注公众号

微信公众号

评论:
热门文章: