【问题标题】:How to access second cell of each row in a html table using javascript?如何使用javascript访问html表中每一行的第二个单元格?
【发布时间】:2021-12-20 15:48:30
【问题描述】:

我试图访问表格中每一行的每个第二个单元格,但它似乎不起作用,只是显示了一堆未定义的变量。有什么办法可以做到这一点吗?任何帮助将不胜感激。

示例表:

Column A Column B Column C
Data 1A Data 1B Data 1C
Data 2A Data 2B Data 2C
Data 3A Data 3B Data 3C

注意:我试图访问斜体数据单元格。

 let table = document.querySelector("table");
 
 for (let row of table.rows) {
  
      for (let cell of row.cells) {

           console.log(cell[1]);

      }

 }

输出:

Undefined 

预期输出:

<td>Data 1B</td>
<td>Data 2B</td>
<td>Data 3B</td>

【问题讨论】:

  • 您尝试使用:nth-child() Selector
  • 请同时包含输入的html。
  • cell[1]未定义,试试row.cells[1]

标签: javascript html dom


【解决方案1】:

请看:

const tbl = document.querySelector("table");
for(let row of tbl.rows) {
  console.log(row.cells[1].innerHTML);
}
<table>
  <tbody>
    <tr>
      <td>td 0.0</td>
      <td>td 0.1</td>
      <td>td 0.2</td>
    </tr>
    <tr>
      <td>td 1.0</td>
      <td>td 1.1</td>
      <td>td 1.2</td>
    </tr>
  </tbody>
</table>

在您的代码中,您试图将迭代单元格的内部值索引为:

for (let cell of row.cells) {
    console.log(cell[1]);
}

这是不正确的。

【讨论】:

    【解决方案2】:

    这是我的解决方案:

    let secCellList= document.querySelectorAll("table tbody tr td:nth-child(2)");
        secCellList.forEach(secondCell=>{
        console.log(secondCell.innerHTML);
    }) 
    

    【讨论】:

      猜你喜欢
      • 2013-06-30
      • 1970-01-01
      • 1970-01-01
      • 2020-12-11
      • 2019-06-30
      • 2014-07-12
      • 2018-06-16
      • 2011-06-03
      • 1970-01-01
      相关资源
      最近更新 更多