DOM 解析学习笔记

DOM(Document Object Model)是文档对象模型的缩写,它是一种用于处理 XML 和 HTML 文档的标准化编程接口。DOM 将文档抽象成一组层次结构,从而方便程序对文档进行操作。

DOM 树

DOM 树是一个多层次的节点树,文档中的各个元素、属性、文本和注释都是这个树形结构中的节点。在 HTML 中,文档元素是最上层的节点,通常对应于 <html> 标签。下面是一个简单的 DOM 树的示例:

Copy Code
<html> <head> <title>DOM 树示例</title> </head> <body> <h1>DOM 树示例</h1> <p>这是一个 DOM 树的示例。</p> </body> </html>

DOM API

DOM API 提供了一组方法和属性,可以帮助程序访问和操作 DOM 树中的节点。常用的方法包括:

  • document.getElementById(id):根据 ID 查找元素节点。
  • element.getElementsByTagName(tagName):根据标签名查找元素节点。
  • element.getAttribute(name):获取元素节点的指定属性值。
  • element.setAttribute(name, value):设置元素节点的指定属性值。
  • element.appendChild(newNode):将新节点添加到指定元素的子节点列表中。

下面是一个使用 DOM API 操作 DOM 树的示例:

javascriptCopy Code
// 获取文档中的元素节点 let title = document.getElementsByTagName('title')[0]; let heading = document.getElementsByTagName('h1')[0]; let paragraph = document.getElementsByTagName('p')[0]; // 修改元素节点的内容 title.textContent = 'DOM 树示例 - 学习笔记'; heading.textContent = 'DOM 树示例 - 学习笔记'; paragraph.textContent = '这是一个 DOM 树的示例。'; // 添加新的元素节点 let newParagraph = document.createElement('p'); newParagraph.textContent = '这是一个新的段落。'; document.body.appendChild(newParagraph);

实例

下面是一个使用 DOM 解析实现简单计算器的示例:

htmlCopy Code
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>计算器</title> </head> <body> <input id="num1" type="text"> + <input id="num2" type="text"> = <span id="result"></span> <button onclick="calculate()">计算</button> <script> function calculate() { let num1 = parseInt(document.getElementById('num1').value); let num2 = parseInt(document.getElementById('num2').value); let result = num1 + num2; document.getElementById('result').textContent = result; } </script> </body> </html>

该计算器会读取两个文本框中的数值,计算它们的和,并在结果区域显示结果。