JavaScript 中的 DOM 操作
JavaScript 中的 DOM 操作
欢迎来到 JavaScript 学习之旅的第 7 天!今天的主题重点介绍 **DOM 操作**,这是 JavaScript 最令人兴奋的方面之一。通过 DOM 操作,您可以动态更新、添加或删除网页中的元素,使其具有交互性和用户友好性。在今天的课程结束时,您还将创建一个简单的 **待办事项列表** 项目,以将您的知识付诸实践。
1.什么是 DOM?
**文档对象模型 (DOM)** 是 Web 文档的编程接口。它将 HTML 文档的结构表示为对象树,允许您使用 JavaScript 以编程方式访问和操作元素。
以下是 DOM 如何表示 HTML 的示例:
Welcome
This is a paragraph.
上述的 DOM 树看起来如下:
Document
└── html
└── body
├── h1
└── p2.访问 DOM 元素
您可以使用多种方法访问 DOM 中的元素:
使用 getElementById
let title = document.getElementById("title");
console.log(title); // Logs the element with ID "title"使用 getElementsByClassName
let items = document.getElementsByClassName("item");
console.log(items); // Logs all elements with class "item"使用 querySelector 和 querySelectorAll
let firstItem = document.querySelector(".item"); // First element with class "item"
let allItems = document.querySelectorAll(".item"); // All elements with class "item"3.修改DOM元素
更改内容
您可以使用以下方法更新元素内的文本或 HTML:
let title = document.getElementById("title");
title.innerText = "Updated Title"; // Changes visible text
title.innerHTML = "Updated Title"; // Adds HTML formatting改变风格
您可以直接修改元素的 CSS 样式。
let title = document.getElementById("title");
title.style.color = "blue";
title.style.fontSize = "24px";添加或删除课程
let box = document.getElementById("box");
box.classList.add("highlight"); // Adds a class
box.classList.remove("highlight"); // Removes a class4.处理事件
事件可让您的网页具有交互性。以下是一些常见的事件类型及其处理方法。
内联事件处理
在你的 HTML 中:
使用 addEventListener
这种方法是首选,因为它将 JavaScript 与 HTML 分开。
let button = document.getElementById("btn");
button.addEventListener("click", function () {
alert("Button Clicked!");
});常见事件
**例子:**
let inputField = document.getElementById("input");
inputField.addEventListener("keyup", function (event) {
console.log(`You typed: ${event.target.value}`);
});5. 项目:待办事项清单
让我们将您所学到的知识结合到一个简单的**待办事项列表**应用程序中。
HTML 结构
To-Do List To-Do List
JavaScript 代码
// Access elements
let taskInput = document.getElementById("taskInput");
let addTaskBtn = document.getElementById("addTaskBtn");
let taskList = document.getElementById("taskList");
// Add event listener to the button
addTaskBtn.addEventListener("click", function () {
let task = taskInput.value; // Get the input value
if (task.trim() !== "") {
// Create a new list item
let listItem = document.createElement("li");
listItem.innerText = task;
// Add a delete button
let deleteBtn = document.createElement("button");
deleteBtn.innerText = "Delete";
deleteBtn.addEventListener("click", function () {
taskList.removeChild(listItem);
});
listItem.appendChild(deleteBtn); // Add delete button to the list item
taskList.appendChild(listItem); // Add the list item to the task list
taskInput.value = ""; // Clear the input field
} else {
alert("Please enter a task!");
}
});