如何遍历此 html table 并从最后一列不为空的行中获取数据?

How to iterate through this html table and get data from rows whose last col is not empty?

我一直在尝试获取此数据,但结果数组为空:

function saveData() {
  var tableData = [];
  var table = document.getElementById("dtable");
  console.log(table)

  for (var i = 0; i < table.length; i++) {
    let tableCells = table.rows.item(i).cells;
    let cellLength = tableCells.length;

    for (let j = 0; j < cellLength; j++) {
      let cellVal = tableCells.item(j).innerHTML;
      tableData.push(cellVal)
    }
  }
  console.log(tableData)
  rows = JSON.stringify(tableData);
  google.script.run.formToSheets(rows);
}

感谢您的帮助!

在你的脚本中,作为几种可能的修改之一,下面的修改怎么样?

发件人:

var tableData = [];
var table = document.getElementById("dtable");
console.log(table)

for (var i = 0; i < table.length; i++) {
  let tableCells = table.rows.item(i).cells;
  let cellLength = tableCells.length;

  for (let j = 0; j < cellLength; j++) {
    let cellVal = tableCells.item(j).innerHTML;
    tableData.push(cellVal)
  }
}
console.log(tableData)

收件人:

var table = document.getElementById("dtable");
console.log(table)

var [, ...tr] = table.querySelectorAll("tr");
var tableData = [...tr].map(r => {
  var td = r.querySelectorAll("td");
  return [...td].map((c, j) => j != 3 ? c.innerHTML : c.querySelectorAll("select")[0].value);
});
console.log(tableData)
  • 在此修改中,从 table 中检索 table 行。并且,table 单元格是从 table 行中检索的。在下拉列表的情况下,从下拉列表中检索值。

注:

  • 当此修改不能直接解决您的问题时,我认为当您提供整个脚本时,将有助于正确理解您的问题。