TypeError:未定义数组

时间:2013-05-24 18:01:27

标签: javascript bookmarklet

我正在尝试创建一个用于检查表中每一行的书签,如果给定的行在其中一个单元格中具有特定内容,则会检查该行中的复选框。但是我总是得到一条消息:

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

我的书签的完整代码:

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行是标题行。 我做错了什么?

1 个答案:

答案 0 :(得分:4)

由于for

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

将其更改为<,它会正常工作。