我似乎在某些代码上出现错误。它的简化版本是:
var elems = document.querySelectorAll(".vat-info");
if (elems.length) {
console.dir({ found: elems });
Object.keys(elems).forEach(function (key){
console.dir("X: " + key)
var item = elems[key];
console.log("got here");
});
}
https://jsfiddle.net/aL2n4ru7/
我得到的错误是:
未捕获的TypeError:无法读取未定义的属性'0'
令人沮丧的是,我没有在JSFiddle上收到此错误!但是我确实可以在浏览器中得到它:
我没看错:/我使用的是这种语法:
elems.forEach(function (item,i){
....
});
但是似乎有些浏览器不喜欢使用querySelectorAll()
输出,因为它是Object()
而不是Array()
答案 0 :(得分:1)
请尝试这个
var elems = document.querySelectorAll(".vat-info");
if (elems.length) {
elems.forEach(function (key){
console.log(key.attributes);
console.log(key.className);
});
}