MiniCode

DOM

用程序读取和修改页面

免费阅读 · 配套小练习 · 更新于

一句话理解

浏览器把网页组织成一棵节点树,让程序能找到并更新元素。

打个比方

HTML 像家具清单,DOM 像浏览器里已经摆好的房间。程序可以找到标着“status”的位置,把那里显示的文字换掉。

DOM 是文档对象模型,提供访问节点的接口。JavaScript 可以按 id 等方式找到元素,读取或修改文本,也可以监听点击事件。脚本需要在目标元素存在后执行;找不到元素时,查找方法可能返回 null。

看个例子

DOM · 对照 AI 实现的按钮反馈
<p id="status">还没开始</p>
<button id="start" type="button">开始学习</button>
<script>
  const button = document.getElementById("start");
  const status = document.getElementById("status");
  button.addEventListener("click", () => {
    status.textContent = "今天先学一个概念";
  });
</script>

观察 AI 的实现,可以分别找出按钮、目标段落、click 监听和 textContent 更新。这是放在 body 中的一种实现;它只更新当前页面,刷新后回到初始文字。需要保存进度时,应另外向 AI 说明。

什么时候会遇到

  • 让 AI 为按钮添加反馈时,说清触发操作和要更新的内容。
  • 检查 AI 实现的交互是否真的响应点击,刷新后是否符合预期。

常见误解

修改 DOM 不等于保存数据,也不一定修改了原始 HTML 文件。不要用 innerHTML 随意插入用户提供的文本。

Vibe Coding 小练习 · 描述需求 → 看懂改动 → 验证结果

动手练一练:让 AI 实现按钮反馈,再亲自操作验证

使用自己的 HTML 练习页,把初始状态、操作和反馈分别写清楚。

试着这样告诉 AI

可调整后使用的需求示例
请在介绍页增加一个“开始学习”按钮和状态段落。初始文字为“还没开始”,激活按钮后改为“我正在学习 DOM”,刷新后恢复初始文字。保留现有内容,使用可由键盘操作的按钮,不保存学习进度。完成后指出事件监听和文字更新的位置。

可以在你使用的 AI 编程工具中完成;也可以先对照本页代码示例,练习理解需求、识别改动和列出检查项。

跟着做

  1. 把初始文字、按钮操作和刷新要求交给 AI。
  2. 在结果中找到按钮、状态段落与事件处理,结合上方例子理解页面如何变化。
  3. 实际点击,再用 Tab 选中按钮并按 Enter;刷新页面,检查三个行为是否分别满足要求。

你应该看到

鼠标与键盘都能激活反馈,刷新后回到初始状态。

完成检查

  • 激活前后文字正确,没有只做一个没有响应的按钮。
  • 键盘可操作,刷新后的状态符合约定。
遇到卡点?看提示

如果按钮没反应,把操作、报错和相关代码一起反馈给 AI;检查元素名称是否对应。

查看参考思路

按钮的事件处理更新状态段落;textContent 是其中一种实现。是否实现成功要看实际操作。刷新恢复初始状态是这次需求的一部分,不能把它解释为永久保存了进度。

想一想

把 id="start" 改成 id="begin",只改 HTML 够吗?

查看答案

不够。脚本仍查找 start,会得到 null,后续监听失败。HTML 的 id 与脚本里的查找值需要对应。

继续查阅官方资料

MDN · 文档对象模型本文为面向新手的概念解释,具体工具行为以对应文档为准。