【问题标题】:Undefined value in Javascript loopJavascript循环中未定义的值
【发布时间】:2020-04-25 17:19:12
【问题描述】:

我有一个简单的 Javascript 循环,它遍历表中的 DOM 对象。

但是,当循环到达未定义的单元格值时,它会引发错误。

TypeError: table.rows[i].cells[1] 未定义

我尝试使用 if 语句来捕获未定义的值,但这并没有解决问题。

这是我的代码:

var table = win.document.getElementById("myTable");
for (var i = 0, row; row = table.rows[i]; i++) {
    //iterate through rows

    if (typeof table.rows[i].cells[1].innerHTML === 'undefined')
    {
        //Do nothing!
    }
    else
    {
        alert(table.rows[i].cells[1].innerHTML);
    }


    for (var j = 0, col; col = row.cells[j]; j++) {
        //iterate through columns
        //columns would be accessed using the "col" variable assigned in the for loop
    }
}

【问题讨论】:

  • table.rows[i].cells[1]undefined,而不是 table.rows[i].cells[1].innerHTML
  • 谢谢,我刚刚意识到同样的问题并发布了答案

标签: javascript


【解决方案1】:

以防它帮助其他人。

未定义的不是innerHTML,而是table.rows[i].cells[1]

如果我按照以下更新我的代码,问题就解决了

var table = win.document.getElementById("myTable");
for (var i = 0, row; row = table.rows[i]; i++) {
    //iterate through rows
        alert(typeof table.rows[i].cells[1] !== 'undefined' ? : table.rows[i].cells[1].innerHTML : 'undefined');

    for (var j = 0, col; col = row.cells[j]; j++) {
        //iterate through columns
        //columns would be accessed using the "col" variable assigned in the for loop
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-28
    • 1970-01-01
    • 2012-04-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多