javascript - 如何在 javascript 的节点列表中使用 .map()?
问题描述
为什么我会收到此错误?当我选择<li>
标签时如何访问和打印节点querySelectorAll
?
script.js:14 Uncaught TypeError: list.map is not a function
HTML
<ul class="wrapper1" id="testDiv">
<li class="cake">Carrots</li>
<li class="cake">Cake</li>
<li class="cake">Wheat</li>
<li class="cake">Balloons</li>
</ul>
JS
let list = document.querySelectorAll("li");
let items = list.map(elem => {
console.log(elem);
})
解决方案
querySelectorAll()
返回一个静态(非实时)NodeList,表示与指定选择器组匹配的文档元素列表。用于array#from
将 NodeList 转换为数组,然后遍历array#map
.
let list = document.querySelectorAll("li");
let items = Array.from(list).map(elem => {
console.log(elem);
})
<ul class="wrapper1" id="testDiv">
<li class="cake">Carrots</li>
<li class="cake">Cake</li>
<li class="cake">Wheat</li>
<li class="cake">Balloons</li>
</ul>
推荐阅读
- terraform - 地形模块
- r - 用 smooth.spline 过冲
- python - 使用循环查找图中的所有连接节点
- html - CSS中隐藏子div时如何动态调整div的大小?
- javascript - Express/Mongoose - 错误:传入的参数必须是 12 个字节的单个字符串
- html - 可调 Forloop 范围 - HTML
- python - Beautifulsoup Python 循环
- python - 如何在全屏 python cv2 上播放它
- pdf - 使用 .NET 以编程方式搜索 PDF 中的文本的推荐方法是什么?
- python - 如果我训练了 Word Piece 分词器,我应该使用什么模型检查点?