1

テーブル内のすべての行をチェックするブックマークレットを作成しようとしています。特定の行のセルの 1 つに特定のコンテンツがある場合、その行のチェックボックスをチェックします。しかし、私はいつもメッセージで終わります:

[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();

0行目はヘッダー行なので、意図的に1から始めます。私は何を間違っていますか?

4

1 に答える 1

4

次の理由により、ループforが 1 つの要素をジャンプしすぎてい<=ます。

for(var a=1; a<=rows.length; a++){
              ^^

a に変更する<と動作します。

于 2013-05-24T18:03:24.233 に答える