我正在尝试设置HTMLCollectionOf
中所有元素的get id。我写了以下代码:
var list = document.getElementsByClassName("events");
console.log(list[0].id);
for (key in list) {
console.log(key.id);
}
但我在控制台中得到了以下输出:
event1
undefined
这可不是我想要的。为什么第二个控制台输出为undefined
,而第一个控制台输出为event1
发布于 2016-05-05 12:21:46
在ES6中,您可以执行类似[...collection]
或Array.from(collection)
的操作,
let someCollection = document.querySelectorAll(someSelector)
[...someCollection].forEach(someFn)
//or
Array.from(collection).forEach(someFn)
例如:-
navDoms = document.getElementsByClassName('nav-container');
Array.from(navDoms).forEach(function(navDom){
//implement function operations
});
发布于 2017-08-25 03:13:12
在边缘上
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);
}
}
}
发布于 2019-03-20 22:36:07
我经常使用的简单解决方法
let list = document.getElementsByClassName("events");
let listArr = Array.from(list)
在此之后,您可以对所选内容运行任何所需的Array方法
listArr.map(item => console.log(item.id))
listArr.forEach(item => console.log(item.id))
listArr.reverse()
https://stackoverflow.com/questions/22754315
复制相似问题