HTML DOM 根节点childNodes 和 nodeValue
2025-04-24
13
参考资料
HTML DOM 根节点 childNodes 和 nodeValue
根节点 childNodes
介绍
childNodes 属性返回包含指定节点的子节点的集合,是一个 NodeList 对象。
标签
无特定标签,适用于所有HTML元素
用法
element.childNodes
实例
<div id="parent">
<p>Paragraph 1</p>
Text node
<!-- Comment node -->
<p>Paragraph 2</p>
</div>
<script>
const parent = document.getElementById('parent');
const children = parent.childNodes;
console.log(children.length); // 输出:7(包含文本节点和注释节点)
</script>功能
返回所有子节点,包括元素节点、文本节点和注释节点
返回的
NodeList是动态的,会随DOM变化自动更新包含空白文本节点(在某些浏览器中)
nodeValue
介绍
nodeValue 属性返回或设置当前节点的值。
标签
适用于文本节点、注释节点和属性节点
用法
node.nodeValue node.nodeValue = newValue
实例
<p id="demo">Hello World</p>
<script>
const x = document.getElementById("demo").childNodes[0];
x.nodeValue = "New text!";
</script>功能
对于文本节点,返回或设置文本内容
对于注释节点,返回或设置注释内容
对于属性节点,返回或设置属性值
对于元素节点,返回
null
CSS 扩展
选择特定节点类型
/* 选择所有元素节点 */
* {
/* 样式规则 */
}
/* 选择文本节点(无法直接通过CSS选择) */
/* 需要通过JavaScript间接操作 */示例说明
<div id="container">
<p>First paragraph</p>
Some text
<p>Second paragraph</p>
</div>
<script>
const container = document.getElementById('container');
// 使用childNodes遍历所有子节点
container.childNodes.forEach(node => {
if (node.nodeType === Node.ELEMENT_NODE) {
console.log('Element:', node.tagName);
} else if (node.nodeType === Node.TEXT_NODE && node.nodeValue.trim() !== '') {
console.log('Text:', node.nodeValue);
// 修改文本节点内容
node.nodeValue = 'Modified text';
}
});
</script>注意事项
childNodes包含所有类型的节点,包括空白文本节点使用
nodeValue前应先检查节点类型元素节点的
nodeValue始终为null现代浏览器推荐使用
textContent替代nodeValue处理文本内容
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
本文来自《西里网 . html 网页设计》 -- 发布时间:2025-03-29
本页链接:https://html.ciilii.com/show/news-1635.html
原创声明:本篇文章均为西里网原创,由《DeepSeek-R1 模型》自动生成。内容真实性仅供参考学习。
本作品采用 知识共享署名—非商业性使用—相同方式共享 4.0 国际许可协议 (CC BY-NC-SA 4.0) 进行许可。
