尝试遍历querySelectorAll

时间:2019-02-06 11:28:59

标签: javascript

我似乎在某些代码上出现错误。它的简化版本是:

    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上收到此错误!但是我确实可以在浏览器中得到它:

enter image description here

我没看错:/我使用的是这种语法:

elems.forEach(function (item,i){
            ....
          });

但是似乎有些浏览器不喜欢使用querySelectorAll()输出,因为它是Object()而不是Array()

1 个答案:

答案 0 :(得分:1)

请尝试这个

var elems = document.querySelectorAll(".vat-info");
 
		if (elems.length) {
            
            elems.forEach(function (key){
                console.log(key.attributes);
                console.log(key.className);
            });
        }

https://jsfiddle.net/b19phj2L/3/