Module 03 · JavaScript Programming for Web ApplicationsWeb 应用 JavaScript 编程
JavaScript DOM ObjectsJavaScript DOM 对象
学习目标
观看本视频后,您将能够:
- 列出相关的 节点类型 (Node Types)。
- 展示如何通过 DOM API 访问 HTML 页面中的元素。
- 解释如何命名对象以便更方便地从脚本中访问。

DOM 节点类型
W3C DOM Level 2 节点类型
- 定义:W3C DOM Level 2 定义了 12 种节点类型,其中 7 种 在 HTML 文档中直接适用。
- 节点类型对应表:
| 节点类型名称 | 数值 (Node Type) | 示例 |
|---|---|---|
| ELEMENT_NODE | 1 |
HTML 标签(例如 <div>) |
| ATTRIBUTE_NODE | 2 |
HTML 属性(例如 id="div123") |
| TEXT_NODE | 3 |
元素中的文本内容(例如段落中的文字) |
| COMMENT_NODE | 8 |
HTML 注释(例如 <!-- 注释 -->) |

- 示例说明:
- 对于
ELEMENT_NODE,节点名称为标签名,例如DIV。 ATTRIBUTE_NODE包含键值对,属性名为id,属性值为div123。TEXT_NODE的节点名称为#text,值为文本内容本身。

- 对于
DOM 树的节点属性
| 属性名称 | 数据类型 | 描述 |
|---|---|---|
| nodeName | String |
节点的名称,例如 DIV、#text。 |
| nodeValue | String 或 null |
对于文本节点,值为文本内容;对于元素节点,值为 null。 |
这些属性可以通过开发者工具(如 Chrome DevTools)查看。

访问 HTML 页面元素
HTML 元素的数组
- 浏览器在加载 HTML 文档时,会为以下类型的元素创建数组:
- 表单 (forms)、图片 (images)、锚点 (anchors)、链接 (links)、嵌入 (embeds)。
- 数组索引从
0开始,对应文档中元素的出现顺序。

访问元素的示例

| 方法 | 语法 | 描述 |
|---|---|---|
| 通过索引访问 | document.forms[0].elements[0] |
访问第一个表单的第一个元素。 |
| 通过名称访问 | document.forms["form1"].elements["field1"] |
使用表单名和字段名访问元素。 |
| 缩写方式 | document.form1.field1 |
更简洁的写法,直接使用表单名和字段名访问。 |
使用id属性访问元素
id的规则:- 唯一性:
id值在文档中必须是唯一的。 - 字符串格式:赋值时需加引号。
- 格式限制:
id不应以数字开头。

- 唯一性:
- 访问方法:使用
document.getElementById()。let element = document.getElementById("myId"); element.style.color = "red"; // 修改颜色 - 建议:
id和name属性的值可相同,便于脚本引用。

嵌套对象的点式表示法
点式表示法的优点
- 层级清晰:按层级逐步访问嵌套对象。
- 易读易写:代码直观,便于理解和维护。
示例
// 访问嵌套对象
let formField = document.forms[0].elements[0];
console.log(formField.value); // 输出字段的值
总结
| 主题 | 描述 |
|---|---|
| DOM 节点类型 | W3C DOM 定义了多个节点类型,其中 ELEMENT_NODE、TEXT_NODE 等与 HTML 文档直接相关。 |
| 访问元素的方法 | - 按索引访问:document.forms[0].elements[0]。- 按名称访问: document.getElementById("id")。 |
id 的使用规则 |
- 必须唯一。 - 不以数字开头。 - 建议与 name 属性值保持一致。 |
| 点式表示法 | 用于清晰表达对象层级关系,便于逐步访问嵌套对象和属性。 |
通过掌握这些操作,您可以轻松使用 JavaScript 操作 DOM 对象,高效实现对 HTML 页面元素的动态管理! 🚀
