操作 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,包括选择元素、操作内容和属性、创建、插入和删除元素以及添加事件监听器。通过使用这些方法,您可以实现丰富且交互性强的网页应用程序。