遍历表时如何忽略空值(仅适用于Javascript)

时间:2019-06-09 19:02:38

标签: javascript null ignore skip

我正在使用Java语言中的for循环遍历一个表。

其中一些单元格具有批准/忽略下拉菜单,但有些则没有 (有些是空白的,很遗憾,这是该规范的一部分)。 当它变为空值时,代码将掉落。

如何让它跳过/忽略任何空值?

function submitform() {
    document.getElementById("nodata").className = "center form-message form- 
    message-warning hidden";
    document.getElementById("novehicle").className = "center form- 
    message form-message-warning hidden";
    selectTable = document.getElementById('despatchTable');
    rowLength = selectTable.rows.length;
    var vehicleError = 'N';
    var despatchData = "";  

    for (i = 1; i < rowLength; i++){  // 
        if (null) {
            i++;
        }

        var selectCells = selectTable.rows.item(i).cells;
        var loadin = selectCells.item(0).innerHTML;
        var fieldout = " ";
        var loadVal = fillfield(loadin, 7, fieldout);
        var clientin = selectCells.item(3).innerHTML;                    
        fieldout = " ";
        var clientVal = fillfield(clientin, 8, fieldout); 
        var approvein = selectCells.item(6).children.approval.value;
        var approveVal = fillfield(approvein, 7, fieldout);
        var vehicleIn = selectCells.item(1).innerHTML;
        var vehicleLength = vehicleIn.trim().length;
    }       
}

我收到的错误消息是

  

当item(6)等于null时,无法读取属性'children'为null'

1 个答案:

答案 0 :(得分:0)

好像发生在这条线上
var approvein = selectCells.item(6).children.approval.value;

因此,在执行此操作之前,您可以测试if (selectCells.item(6)) {...

您还有if (null) { i++; }。它永远不会执行。
也许这是您要放支票的地方。
而且,与其增加i,不如增加continue