DOM怎样添加、移除、移动、复制、创建和查找节点?

在JavaScript中,DOM(文档对象模型)提供了一系列的方法和属性,可以让我们轻松地操作HTML文档中的节点。以下是一些常见的操作:

  1. 添加节点:我们可以使用appendChild方法将新节点添加到父节点的子节点列表的末尾。如果想要在特定位置插入新节点,可以使用insertBefore方法。
let newNode = document.createElement('p'); // 创建一个新的<p>节点
newNode.textContent = 'This is a new paragraph.'; // 给新的节点添加文本

let parent = document.querySelector('div'); // 选取一个父节点
parent.appendChild(newNode); // 将新节点添加到父节点的子节点列表的末尾
  1. 移除节点:我们可以使用removeChild方法从DOM中移除节点。
let nodeToRemove = document.querySelector('p'); // 选取要移除的节点
let parent = nodeToRemove.parentNode; // 获取该节点的父节点
parent.removeChild(nodeToRemove); // 从父节点中移除该节点
  1. 移动节点:节点的移动实际上是节点的删除和添加的组合。
let nodeToMove = document.querySelector('p'); // 选取要移动的节点
let newParent = document.querySelector('div'); // 选取新的父节点
newParent.appendChild(nodeToMove); // 这将会将节点从旧的位置移除,并添加到新的位置
  1. 复制节点:我们可以使用cloneNode方法复制节点。这个方法接收一个布尔值参数,表示是否进行深复制。如果参数为true,则复制该节点及其整个子节点树,如果参数为false,则只复制该节点本身。
let nodeToCopy = document.querySelector('p'); // 选取要复制的节点
let copy = nodeToCopy.cloneNode(true); // 深复制节点
  1. 创建节点:我们可以使用createElement方法创建新的元素节点,使用createTextNode方法创建新的文本节点。
let newElement = document.createElement('p'); // 创建新的元素节点
let newText = document.createTextNode('This is some text.'); // 创建新的文本节点
newElement.appendChild(newText); // 将文本节点添加到元素节点中
  1. 查找节点:我们可以使用各种方法查找节点,如getElementByIdgetElementsByClassNamegetElementsByTagNamequerySelectorquerySelectorAll
let elementById = document.getElementById('myId'); // 通过ID查找元素
let elementsByClassName = document.getElementsByClassName('myClass'); // 通过类名查找元素
let elementsByTagName = document.getElementsByTagName('p'); // 通过标签名查找元素
let elementByQuery = document.querySelector('#myId .myClass'); // 通过CSS选择器查找第一个匹配的元素
let elementsByQuery = document.querySelectorAll('#myId .myClass'); // 通过CSS选择器查找所有匹配的元素

以上就是一些基本的节点操作,实际上DOM提供了更多的方法和属性,可以用来获取和操作节点的各种信息。

发表评论

后才能评论