我在所有应用程序中使用以下代码通过DOM元素进行枚举:
var elements = document.querySelectorAll('div');
[].forEach.call(elements, function(element) {
div.style.color = 'green';
});这段代码可以工作,但是[].forEach.call(...)在大型应用程序中不容易读取。在不使用自定义函数或原型的情况下,是否有一种在ECMA6Script中更容易实现DOM枚举的本地方法?
发布于 2015-05-20 07:46:50
您将不再在forEach中使用ES6。你会用循环播放
for (let div of document.querySelectorAll('div'))
div.style.color = 'green';除此之外,您还可以使用Array.from将可迭代对象转换为数组,然后对其调用.forEach;但实际上,对于即将发布的DOM规范,这是不必要的,因为querySelectorAll将返回以ES6方式从Array继承的Elements集合--因此可以直接在其上调用.forEach方法!
发布于 2015-05-20 07:14:32
您可以使用Array.from
Array.from(elements).forEach(elem => ...)发布于 2015-05-20 14:55:55
在ES6中,您可以使用扩展算子:
[...document.querySelectorAll('div')].forEach(e => console.log(e))https://stackoverflow.com/questions/30342742
复制相似问题