在Javascript中访问表格单元格值

时间:2016-08-11 07:34:23

标签: javascript html html-table

我有一个html表。每个表行包含几个输入文本区域,每个输入文本区域都有动态分配的唯一ID。现在我想将表格第一列的所有id放入一个数组中。我在这件事上面临问题。请帮帮我。

我的表的Html代码如下:

<table id="POITable">
    <tr>
        <th>Item</th>
        <th>Brand</th>
        <th>UOM</th>
        <th>Quantity</th>
        <th>Remarks</th>
    </tr>

    <tr style="visibility:hidden;">             <!-- This is just a dummy row-->
        <td><input size=25 type="text"/></td>
        <td><input size=25 type="text"/></td>
        <td><input size=25 type="text"/></td>
        <td><input size=25 type="text"/></td>
        <td><input size=25 type="text"/></td>
        <td><img alt="Icon" src="/assets/add-icon.png" id="addmorePOIbutton" onclick="insRow()" /></td>
        <td><img alt="Icon" src="/assets/minus-icon.png" id="delPOIbutton" onclick="deleteRow(this)"/></td>
    </tr>

    <tr>
        <td><input size=25 type="text"/></td>
        <td><input size=25 type="text"/></td>
        <td><input size=25 type="text"/></td>
        <td><input size=25 type="text"/></td>
        <td><input size=25 type="text"/></td>
        <td><img alt="Icon" src="/assets/add-icon.png" id="addmorePOIbutton" onclick="insRow()" /></td>
        <td><img alt="Icon" src="/assets/minus-icon.png" id="delPOIbutton" onclick="deleteRow(this)"/></td>
    </tr>
</table>

现在我输入文本框的ID的javascript代码是:

  function make_summary()
  {
    var arr=new Array();
    var x=document.getElementById('POITable');
    var size=x.rows.length;

    for (i=2;i<=x.rows.length-1;i++)
    {
      var each_row=x.rows[i];
      var each_col=each_row.cells[1];
      console.log(each_col);   
    }
  }

我可以访问每个表数据,我的意思是td标记,但是因为每个td标记内都有<input>标记,所以如何访问该输入标记元素?

each_col.getElementByTagName();无效。这是投掷错误。

请给我一些解决方案。请给我一些javascript解决方案(请不要jquery)。

1 个答案:

答案 0 :(得分:2)

由于td标记中始终只有一个元素,因此您只需使用

访问内部元素
each_col.getElementsByTagName('input')[0];

请记住,getElementsByTagName()返回一个HtmlCollection,而不是单个元素 - 因此您必须指定要定位的元素。

BTW ......没有一种叫做getElementByTagName()的方法 - 这可能是混乱的来源。它是复数元素 - &gt;元素

getElementsByTagName()
          ^