为了账号安全,请及时绑定邮箱和手机立即绑定

使用javascript将HTML表格数据转换为数组形式

使用javascript将HTML表格数据转换为数组形式

RISEBY 2023-08-05 20:50:38
我有一个问题,即使我将表数据存储到数组中,数组也显示未定义 以数组的形式获取每个问题的行function getAllProblemRowElements() {    //var k = document.querySelector("#app > div > div > div > div.table-responsive > table > tbody");    const tableContents = document.querySelector("#app > div > div > div > div.table-responsive > table > tbody");    const sources = Array.from(tableContents,source=>tableContents[0]);    return sources;} 请解决
查看完整描述

3 回答

?
慕丝7291255

TA贡献1859条经验 获得超6个赞

表内容转数组


var myTableData = Array.prototype.map.call(document.querySelectorAll('#myTable tr'), function(row){

  return Array.prototype.map.call(row.querySelectorAll('td'), function(td){

    return td.innerHTML;

    });

  });


console.log(myTableData)

<table id="myTable">

<tr>

  <td>1</td>

  <td>a</td>

</tr>

<tr>

  <td>2</td>

  <td>b</td>

</tr>

<tr>

  <td>3</td>

  <td>c</td>

</tr>

</table>


查看完整回答
反对 回复 2023-08-05
?
茅侃侃

TA贡献1842条经验 获得超21个赞

这是ES6版本


const myTableData = [...document.querySelectorAll('#myTable tr')]

  .map(row => [...row.querySelectorAll('td')]

    .map(cell => cell.textContent));


console.log(myTableData)

<table>

  <tbody id="myTable">

    <tr>

      <td>1</td>

      <td>a</td>

    </tr>

    <tr>

      <td>2</td>

      <td>b</td>

    </tr>

    <tr>

      <td>3</td>

      <td>c</td>

    </tr>

  </tbody>

</table>


查看完整回答
反对 回复 2023-08-05
?
潇潇雨雨

TA贡献1833条经验 获得超4个赞

我假设您的问题中定义的问题行是标题。您可以使用querySelectorAllindocument获取所有行,然后将其映射到数组中。希望下面的代码有帮助:


function getAllProblemRowElements() {


    const tableContents = document.querySelectorAll("#app > div > div > div > div.table-responsive > table > tbody > tr");

    const sources = Array.from(tableContents,source=>source.children[2].getAttribute("value"))

    return sources;

}


查看完整回答
反对 回复 2023-08-05
  • 3 回答
  • 0 关注
  • 109 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信