1. 获取元素节点:
- getElementById(id): 通过元素的 ID 获取元素节点。
var element = document.getElementById("exampleId");
- getElementsByTagName(tagName): 通过标签名获取元素节点集合。
var elements = document.getElementsByTagName("p");
- getElementsByClassName(className): 通过类名获取元素节点集合。
var elements = document.getElementsByClassName("exampleClass");
- querySelector(selector): 通过 CSS 选择器获取匹配的第一个元素节点。
var element = document.querySelector("#exampleId");
- querySelectorAll(selector): 通过 CSS 选择器获取所有匹配的元素节点集合。
var elements = document.querySelectorAll(".exampleClass");
2. 获取和修改节点内容和属性:
- innerHTML: 获取或设置元素的 HTML 内容。
var content = element.innerHTML;
element.innerHTML = "新的内容";
- textContent: 获取或设置元素的文本内容。
var text = element.textContent;
element.textContent = "新的文本";
- getAttribute(name): 获取元素的属性值。
var value = element.getAttribute("class");
- setAttribute(name, value): 设置元素的属性。
element.setAttribute("class", "newClass");
3. 遍历节点和子节点:
- childNodes: 获取元素的所有子节点。
var childNodes = element.childNodes;
- parentNode: 获取元素的父节点。
var parentNode = element.parentNode;
- nextSibling: 获取元素的下一个兄弟节点。
var nextSibling = element.nextSibling;
- previousSibling: 获取元素的前一个兄弟节点。
var previousSibling = element.previousSibling;
示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>DOM 访问示例</title>
<style>
.exampleClass {
color: blue;
}
</style>
</head>
<body>
<div id="exampleId" class="exampleClass">
<p>这是一个段落</p>
<p>另一个段落</p>
</div>
<script>
// 获取元素节点
var elementById = document.getElementById("exampleId");
var elementsByTagName = document.getElementsByTagName("p");
var elementsByClassName = document.getElementsByClassName("exampleClass");
var querySelector = document.querySelector("#exampleId");
var querySelectorAll = document.querySelectorAll(".exampleClass");
// 获取和修改节点内容和属性
var innerHTML = elementById.innerHTML;
elementById.innerHTML = "新的内容";
var textContent = elementsByTagName[0].textContent;
elementsByTagName[0].textContent = "新的文本";
var attributeValue = elementById.getAttribute("class");
elementById.setAttribute("class", "newClass");
// 遍历节点和子节点
var childNodes = elementById.childNodes;
var parentNode = elementsByTagName[0].parentNode;
var nextSibling = elementsByClassName[0].nextSibling;
var previousSibling = elementsByClassName[0].previousSibling;
// 示例输出
console.log("elementById:", elementById);
console.log("elementsByTagName:", elementsByTagName);
console.log("elementsByClassName:", elementsByClassName);
console.log("querySelector:", querySelector);
console.log("querySelectorAll:", querySelectorAll);
console.log("innerHTML:", innerHTML);
console.log("textContent:", textContent);
console.log("attributeValue:", attributeValue);
console.log("childNodes:", childNodes);
console.log("parentNode:", parentNode);
console.log("nextSibling:", nextSibling);
console.log("previousSibling:", previousSibling);
</script>
</body>
</html>
这个示例演示了如何使用不同的 DOM 访问方法获取元素节点、修改内容和属性,以及遍历节点和子节点。这些方法提供了强大的工具,使得可以以编程方式操作文档的结构和内容。
转载请注明出处:http://www.zyzy.cn/article/detail/14562/XML DOM