我正在控制台中运行这段代码。在IE中,它产生了与预期完全相同的输出。在Cr和FF中运行相同的代码以进行参考确认其一致性。
["a", "b"].forEach(function(element) {
console.log(element);
});
然而,当运行以下脚本时,我收到了错误提示,告诉我该对象上没有声明forEach(...)。这个问题在IE中出现,但在Cr和FF中没有。
var menus = document.querySelectorAll("ul.application>li>a");
menus.forEach(function(element) { ... }
我已经检查了变量 menus 的声明,并且选择它的元素产生了我所期望的结果,即 menus[0] 存在且是一个标记。在 IE 中看起来与其他浏览器有些不同,但这可能只是不同的渲染方式。
我很幸运能够使用 Cr 和 FF 工作,所以我的处理 IE 的经验有限。搜索也没有给我带来太多智慧。
我该如何进一步排除故障?
querySelectorAll
返回的是一个HtmlCollection
,而不是一个Array
。Chrome可能在内部为此提供了一个polyfill,因此它可以在那里工作。 - Nope