操作 DOM(Document Object Model)是 JavaScript 中常见的任务之一,它允许您通过 JavaScript 动态地修改 HTML 页面的内容、结构和样式。以下是一些常见的操作 DOM 的方法:
1. 选择元素:
document.getElementById(id)
:通过元素的 id 属性选择单个元素。document.getElementsByClassName(className)
:通过元素的 class 属性选择一组元素。document.getElementsByTagName(tagName)
:通过元素的标签名选择一组元素。document.querySelector(selector)
:通过 CSS 选择器选择单个元素。document.querySelectorAll(selector)
:通过 CSS 选择器选择一组元素。
2. 操作元素内容和属性:
element.innerHTML
:获取或设置元素的 HTML 内容。element.textContent
:获取或设置元素的文本内容。element.getAttribute(name)
:获取元素的指定属性值。element.setAttribute(name, value)
:设置或添加元素的属性值。element.style.property
:获取或设置元素的 CSS 样式属性。
3. 创建、插入和删除元素:
document.createElement(tagName)
:创建新的 HTML 元素。parentNode.appendChild(node)
:将节点添加为父节点的最后一个子节点。parentNode.insertBefore(newNode, referenceNode)
:在父节点的子节点列表中,将 new 节点插入到 reference 节点的前面。parentNode.removeChild(node)
:从父节点中移除指定的子节点。
4. 添加事件监听器:
element.addEventListener(event, function)
:向元素添加事件监听器。element.removeEventListener(event, function)
:从元素移除事件监听器。
示例:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>DOM Manipulation</title> </head> <body> <div id="container"> <h1>Hello, DOM!</h1> <ul id="list"> <li>Item 1</li> <li>Item 2</li> <li>Item 3</li> </ul> </div> <script> // 选择元素 let container = document.getElementById("container"); let listItems = document.querySelectorAll("#list li"); // 操作元素内容和属性 container.innerHTML += "<p>This is a paragraph.</p>"; listItems.forEach(item => { item.textContent += " (updated)"; }); // 创建、插入和删除元素 let newListItem = document.createElement("li"); newListItem.textContent = "Item 4"; document.getElementById("list").appendChild(newListItem); let firstListItem = document.querySelector("#list li:first-child"); let referenceListItem = document.querySelector("#list li:nth-child(2)"); let newListItem2 = document.createElement("li"); newListItem2.textContent = "Item 0"; document.getElementById("list").insertBefore(newListItem2, referenceListItem); document.getElementById("list").removeChild(firstListItem); // 添加事件监听器 container.addEventListener("click", () => { console.log("Container clicked!"); }); listItems.forEach(item => { item.addEventListener("click", () => { console.log(item.textContent + " clicked!"); }); }); </script> </body> </html>
这个示例演示了如何使用 JavaScript 操作 DOM,包括选择元素、操作内容和属性、创建、插入和删除元素以及添加事件监听器。通过使用这些方法,您可以实现丰富且交互性强的网页应用程序。