【发布时间】:2016-05-30 20:50:14
【问题描述】:
考虑以下代码:
var els = document.querySelectorAll('.myClassName');
Array.prototype.forEach.call(els, function(el) {
console.log(el.id);
});
var els 包含一个节点列表,它不是数组,forEach 仅适用于数组,对吗?
上面的代码真的是hack吗?
【问题讨论】:
-
你说nodeList不是数组的定义是什么?它是一个数组。
-
@PawanNogariya:可能是the specification:
[NewObject] NodeList querySelectorAll(DOMString selectors); -
forEach 方法期望变量是类型数组而不是类型 NodeList(如果我错了,请纠正我)。当我在 Chrome 的开发人员工具中查看 Nodelist 时,我发现没有可用的 forEach。
标签: javascript foreach