DOM(文档对象模型)操作和定时器是前端开发中不可或缺的基础知识,它们共同构成了网页交互的核心机制。本文将详细介绍DOM操作的各种方法以及JavaScript定时器的使用技巧,帮助你构建更加动态和交互丰富的Web应用。
第一部分:DOM基础
什么是DOM?
DOM(Document Object Model,文档对象模型)是HTML和XML文档的编程接口。它将网页表示为一个树形结构,其中每个节点都是文档的一部分,如元素、属性或文本。通过DOM,JavaScript可以访问和操作网页的内容、结构和样式。
DOM树结构
一个HTML文档在浏览器中被解析后,会形成一个树状结构:
document
└── html
├── head
│ ├── title
│ ├── meta
│ └── link
└── body
├── header
├── div
│ ├── h1
│ └── p
└── footer
节点类型
DOM中的节点主要有以下几种类型:
- 元素节点:HTML标签,如
<div>、<p> - 文本节点:标签内的文本内容
- 属性节点:元素的属性,如
id、class - 注释节点:HTML注释
- 文档节点:整个文档(
document对象)
第二部分:DOM选择器
获取元素
JavaScript提供了多种方法来选择DOM元素:
// 通过ID获取单个元素
const header = document.getElementById('header');
// 通过类名获取元素集合
const buttons = document.getElementsByClassName('btn');
// 通过标签名获取元素集合
const paragraphs = document.getElementsByTagName('p');
// 通过CSS选择器获取第一个匹配的元素
const firstLink = document.querySelector('a.external');
// 通过CSS选择器获取所有匹配的元素
const allLinks = document.querySelectorAll('a.external');
遍历DOM
获取元素后,可以通过各种属性遍历DOM树:
const parent = element.parentNode; // 获取父节点
const children = element.children; // 获取所有子元素节点
const firstChild = element.firstElementChild; // 获取第一个子元素节点
const lastChild = element.lastElementChild; // 获取最后一个子元素节点
const nextSibling = element.nextElementSibling; // 获取下一个兄弟元素节点
const prevSibling = element.previousElementSibling; // 获取上一个兄弟元素节点