【学习 JavaScript】 JavaScript 教程 JavaScript 简介 JavaScript 用法 JavaScript Chrome 中运行 JavaScript 输出 JavaScript 语法 JavaScript 语句 JavaScript 注释 JavaScript 变量 JavaScript 数据类型 JavaScript 对象 JavaScript 函数 JavaScript 作用域 JavaScript 事件 JavaScript 字符串 JavaScript 字符串模板 JavaScript 运算符 JavaScript 比较 JavaScript 条件语句 JavaScript switch 语句 JavaScript for 循环 JavaScript while 循环 JavaScript break 和 continue 语句 JavaScript typeof JavaScript 类型转换 JavaScript 正则表达式 JavaScript 错误 JavaScript 调试 JavaScript 变量提升 JavaScript 严格模式 JavaScript 使用误区 JavaScript 表单 JavaScript 表单验证 JavaScript 验证 API JavaScript 保留关键字 JavaScript this JavaScript let 和 const JavaScript JSON JavaScript void JavaScript 异步编程 JavaScript Promise JavaScript 代码规范 JS 函数 JavaScript 函数定义 JavaScript 函数参数 JavaScript 函数调用 JavaScript 闭包 JS 类 JavaScript 类 JavaScript 类继承 JavaScript 静态方法 JS HTML DOM DOM 简介 DOM HTML DOM CSS DOM 事件 DOM EventListener DOM 元素 HTMLCollection 对象 NodeList 对象 JS 高级教程 JavaScript prototype JavaScript Number 对象 JavaScript String JavaScript Date(日期) JavaScript Array(数组) JavaScript Boolean(布尔) JavaScript Math(算数) JavaScript RegExp 对象 JS 浏览器BOM JavaScript Window JavaScript Window Screen JavaScript Window Location JavaScript Window History JavaScript Navigator JavaScript 弹窗 JavaScript 计时事件 JavaScript Cookie JS 库 JavaScript 库 JavaScript 测试 jQuery JavaScript 测试 Prototype JS 实例 JavaScript 实例 JavaScript 对象实例 JavaScript 浏览器对象实例 JavaScript HTML DOM 实例 JavaScript 总结 JS 参考手册

NodeList 对象学习笔记

简介

NodeList 对象表示一个节点的集合。通过使用 NodeList 对象,您可以访问节点标记的子元素列表。NodeList 在 JavaScript 中被广泛使用。 在大多数情况下,NodeList 对象是只读的,这意味着您不能在 NodeList 中添加、删除或更改项目。

创建 NodeList

有多种方法可以创建 NodeList:

1.查询

您可以通过查询 DOM 树来获取 NodeList。以下代码演示了如何从 document 中获取<li>元素的集合:

Copy Code
var list = document.getElementsByTagName("li");

2.自身属性

还可以通过自身属性来创建 NodeList。例如,childNodes 属性返回当前元素的子节点列表:

Copy Code
var childNodes = document.body.childNodes;

遍历 NodeList

遍历 NodeList 时,可以使用以下方法:

1.for 循环

使用 for 循环逐一访问 NodeList 中的元素,如下所示:

Copy Code
var list = document.getElementsByTagName("li"); for (var i = 0; i < list.length; i++) { console.log(list[i].innerHTML); }

2.forEach

如果浏览器支持 ES6,则可以使用 forEach() 方法来遍历 NodeList:

Copy Code
var list = document.getElementsByTagName("li"); list.forEach(function(item){ console.log(item.innerHTML); });

实例演示

下面提供一个实例,演示如何遍历 NodeList 并修改其中的元素属性:

HTML 代码:

Copy Code
<!DOCTYPE html> <html> <head> <title>NodeList 实例</title> </head> <body> <ul> <li>苹果</li> <li>香蕉</li> <li>橙子</li> <li>草莓</li> </ul> <button id="change-li">修改 li 的颜色</button> <script> // 遍历 NodeList 并修改颜色 var list = document.getElementsByTagName("li"); document.getElementById("change-li").addEventListener("click", function(){ for(var i=0; i<list.length; i++){ list[i].style.color = "red"; } }); </script> </body> </html>

该实例中,我们获取了包含四个 <li> 元素的 NodeList,并为一个按钮添加事件监听器。当用户点击该按钮时,我们将遍历 NodeList 并将所有 <li> 元素的文本颜色更改为红色。

总结

本文简要介绍了 NodeList 对象的概念、创建方法、遍历方式以及相关实例。NodeList 对于拥有多个子元素孙子元素的元素非常有用,熟练掌握 NodeList 对象的使用能够提高您的 JavaScript 编码效率。