Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/478.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何确保获得可以在其上使用forEach的HTML节点/元素集合?_Javascript - Fatal编程技术网

Javascript 如何确保获得可以在其上使用forEach的HTML节点/元素集合?

Javascript 如何确保获得可以在其上使用forEach的HTML节点/元素集合?,javascript,Javascript,所以我才知道我是否使用 document.querySelectorAll('selector') 或 后者不能用.forEach进行迭代。这可能是因为后者返回类似数组的对象,而前者返回节点列表 现在我读到一些浏览器在使用时返回类似数组的对象 document.querySelectorAll('selector')) 我甚至不确定这个问题是否适用于我,因为我使用的是一个基于Web包的框架,它使用Babel7将我的代码传输到ES2015。但是我想确保我的代码可以在尽可能多的浏览器上运行,因此

所以我才知道我是否使用

document.querySelectorAll('selector')

后者不能用.forEach进行迭代。这可能是因为后者返回类似数组的对象,而前者返回节点列表

现在我读到一些浏览器在使用时返回类似数组的对象 document.querySelectorAll('selector'))

我甚至不确定这个问题是否适用于我,因为我使用的是一个基于Web包的框架,它使用Babel7将我的代码传输到ES2015。但是我想确保我的代码可以在尽可能多的浏览器上运行,因此,如果有一个JS方法可以从DOM中检索元素,这将是一件好事


另外,有人能给我指一下解释JS列表的文档吗?我找不到太多,只有关于数组的文档。列表只是JS中数组的别名吗?

querySelectorAll
返回一个,而
getElementsByClassName
返回一个

最近的发展似乎是所有的数组方法都添加到了
NodeList
s中,而
HTMLCollection
多年来都没有改变,所以我会尝试使用
NodeList
s,因为它们是最新的,并提供
.forEach

我会写:

 for(const el of document.querySelectorAll('.some-class'))
    //...
但是我想确保我的代码可以在尽可能多的浏览器上运行,因此,如果有一个JS方法可以从DOM中检索元素,这将是一件好事

可以肯定的是,无论您使用什么新功能,旧浏览器都没有更新的功能。不过这不是你的问题,Webpack会为你处理这些问题,只要确保添加必要的多边形填充即可

另外,有人能给我指一下解释JS列表的文档吗


JS中没有列表,只有一个被称为arraylike对象的新词,它是包含数字键的对象,具有
.length
,但是它们不是从
数组继承的。出于某种原因,
NodeList
HTMLCollection
都是类似于数组的对象。

可能的重复项也许你也应该看看,JavaScript本身没有
列表。JavaScript中的数组有点像其他语言中的列表/流,所以它可能就是您要寻找的。
 for(const el of document.querySelectorAll('.some-class'))
    //...