一、什么是 DOM
浏览器把 HTML 解析成一棵"节点树",JavaScript 通过 DOM 接口去操作这棵树,就能动态改变页面内容。
二、选择元素
// 选择第一个匹配的元素
const title = document.querySelector("#title");
// 选择所有匹配的元素(返回 NodeList)
const items = document.querySelectorAll(".item");
querySelector 用 CSS 选择器语法,写 #id、.class、tag 都行,最灵活。
三、修改内容
const title = document.querySelector("#title");
title.textContent = "内容被修改了"; // 只改文字
title.innerHTML = "<strong>加粗文字</strong>"; // 可以解析 HTML
四、修改样式与属性
const box = document.querySelector(".box");
// 行内样式
box.style.color = "#3b6ef5";
box.style.backgroundColor = "#eaf0ff";
// 更推荐:切换 class,把样式写在 CSS 里
box.classList.add("active");
box.classList.remove("hidden");
box.classList.toggle("open");
// 修改属性
const img = document.querySelector("img");
img.setAttribute("src", "new.jpg");
五、监听事件
用 addEventListener 给元素绑定事件,用户操作时触发回调函数。
const btn = document.querySelector("#btn");
btn.addEventListener("click", () => {
console.log("按钮被点击了");
});
六、完整小练习:点击计数
把上面几块合起来,做一个最简单的交互 demo:
<button id="btn">点我加一</button>
<span id="num">0</span>
<script>
let count = 0;
const btn = document.getElementById("btn");
const num = document.getElementById("num");
btn.addEventListener("click", () => {
count++;
num.textContent = count;
});
</script>
打开页面点按钮,数字就会从 0 开始递增——这就是"让静态页面动起来"的最小例子。
七、小结
- querySelector / querySelectorAll 选择元素;
- textContent 改文字,innerHTML 可解析标签;
- 优先用 classList 切换样式,而不是直接改 style;
- addEventListener 绑定事件,响应用户操作。