document.querySelectorAll.forEach是一个奇怪的行为,因为document.querySelectorAll返回的是一个NodeList对象,而NodeList对象并没有forEach方法。相反,它是一个类似数组的对象,可以通过索引访问其中的元素。
要在NodeList对象上使用forEach方法,我们需要将其转换为一个真正的数组。可以通过以下几种方法实现:
const nodeList = document.querySelectorAll('selector');
const array = Array.from(nodeList);
array.forEach((element) => {
// 对每个元素执行操作
});
const nodeList = document.querySelectorAll('selector');
const array = [...nodeList];
array.forEach((element) => {
// 对每个元素执行操作
});
const nodeList = document.querySelectorAll('selector');
Array.prototype.forEach.call(nodeList, (element) => {
// 对每个元素执行操作
});
这些方法都可以将NodeList对象转换为数组,并在数组上使用forEach方法来遍历每个元素执行相应的操作。
关于NodeList对象和其它相关概念的更多信息,可以参考腾讯云的相关文档和产品介绍:
领取专属 10元无门槛券
手把手带您无忧上云