类型错误:数组未定义

TypeError: Array not defined

本文关键字:未定义 数组 错误 类型      更新时间:2023-09-26

我正在尝试创建一个bookmarklet,它可以检查表中的每一行,如果给定的行在其中一个单元格中具有特定的内容,它就会检查该行中的复选框。然而,我总是以这样的消息结束:

[19:55:11.752] TypeError: rows[a] is undefined

bookmarklet的完整代码:

document.getElementsByName('0.0.7.3.0.9.3.1.1.1.0.13.3.1.1.11.1.3'[0].options[2].selected=true;
var table = document.getElementsByClassName('content-status')[0];
var rows = table.getElementsByTagName('tr');
for(var a=1; a<=rows.length; a++){
    if(rows[a].getElementsByClassName('pricing-tiers')[0].getElementsByTagName('div')[0].innerHTML != 'Invalid Price') {
        rows[a].getElementsByTagName('input')[0].checked=true;
    }
}
document.getElementsByName('0.0.7.3.0.9.3.1.1.1.0.21.2.0.1.1.1')[0].click();

我故意从1开始,因为第0行是标题行。我做错了什么?

由于<=:

,您的for循环跳转了一个元素太远
for(var a=1; a<=rows.length; a++){
              ^^

将其更改为<,它将工作