首页 > 解决方案 > 使用 JavaScript 获取价值

问题描述

我试图在 tr 中使用 id=jf 获取 td 值并将那里的值推送到一个数组中,但是当获取这个数组时,它只存储第一个 td 值,其他数组元素是未定义的

<table id="customers" >
            <tr id="jf">
            <td>Students Name</td>
            <td>Students SSN</td>
            <td>Class</td>
            <td>First</td>
            <td>Second</td>
            <td>third</td>
            <td>Final</td>
            </tr>
</table>
<button id='addr' onclick='addnewr()'> Add </button>
<script>
var count_td_def=document.getElementById("jf").cells;
function insertdata()
{
    var tdvs=[];

    for(var j=0;j<count_td_def.length;j++)
    {

        var tdv=document.getElementById("jf").cells[j].innerHTML;
        tdvs.push(tdv[j]);
        alert(tdvs[j])
    }

}
</script>

标签: javascript

解决方案


您可以使用document.getElementById获取行和querySelectorAll('td')获取td. 然后使用map创建一个文本数组

function insertdata() {
  var tdv = [...document.getElementById("jf").querySelectorAll('td')].map((item) => {
    return item.innerHTML
  })

  console.log(tdv)
}
td {
  border: 1px solid black;
}
<table id="customers">
  <tr id="jf">
    <td>Students Name</td>
    <td>Students SSN</td>
    <td>Class</td>
    <td>First</td>
    <td>Second</td>
    <td>third</td>
    <td>Final</td>
  </tr>
</table>
<button id='addr' onclick='insertdata()'> Add </button>


推荐阅读