迭代document.getElementsByClassName

时间:2018-10-14 13:38:54

标签: javascript html google-chrome-extension

嗨,我正在尝试以这种方式迭代getElementsByClassName:

var i;
for (i = 0; i < 20; i++) { 
if (document.getElementsByClassName("available")[i]==="undefined"){}
else{
 document.getElementsByClassName("available")[i].click();  }



}

如果我在chrome控制台中运行正常,但是当我通过chrome扩展程序运行它时,它说读取undefined属性“ click”,您知道我该如何解决?

2 个答案:

答案 0 :(得分:1)

尝试这样的事情

var available = document.getElementsByClassName("available"); //collection of elements matching the query

//Loop collection. 
//Skips loop if the available collection is empty
for (var i = 0; i < available.length; i++) {
    available[i].click();
}

答案 1 :(得分:0)

您的if语句不起作用,因为您没有检查目标元素的类型是否未定义。试试这个-

document.getElementsByClassName("available")[i]===undefined