首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >HTMLCollection元素的For循环

HTMLCollection元素的For循环
EN

Stack Overflow用户
提问于 2014-03-31 13:40:04
回答 6查看 498.6K关注 0票数 553

我正在尝试设置HTMLCollectionOf中所有元素的get id。我写了以下代码:

代码语言:javascript
复制
var list = document.getElementsByClassName("events");
console.log(list[0].id);
for (key in list) {
    console.log(key.id);
}

但我在控制台中得到了以下输出:

代码语言:javascript
复制
event1
undefined

这可不是我想要的。为什么第二个控制台输出为undefined,而第一个控制台输出为event1

EN

回答 6

Stack Overflow用户

发布于 2016-05-05 12:21:46

在ES6中,您可以执行类似[...collection]Array.from(collection)的操作,

代码语言:javascript
复制
let someCollection = document.querySelectorAll(someSelector)
[...someCollection].forEach(someFn) 
//or
Array.from(collection).forEach(someFn)

例如:-

代码语言:javascript
复制
    navDoms = document.getElementsByClassName('nav-container');
    Array.from(navDoms).forEach(function(navDom){
     //implement function operations
    });
票数 68
EN

Stack Overflow用户

发布于 2017-08-25 03:13:12

在边缘上

代码语言:javascript
复制
if(!NodeList.prototype.forEach) {
  NodeList.prototype.forEach = function(fn, scope) {
    for(var i = 0, len = this.length; i < len; ++i) {
      fn.call(scope, this[i], i, this);
    }
  }
}
票数 3
EN

Stack Overflow用户

发布于 2019-03-20 22:36:07

我经常使用的简单解决方法

代码语言:javascript
复制
let list = document.getElementsByClassName("events");
let listArr = Array.from(list)

在此之后,您可以对所选内容运行任何所需的Array方法

代码语言:javascript
复制
listArr.map(item => console.log(item.id))
listArr.forEach(item => console.log(item.id))
listArr.reverse()
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22754315

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档