如何访问表格单元格中的元素

时间:2017-11-15 01:56:42

标签: javascript html dom

我有一个HTML表来遍历使用DOM。 我开始使用我的表ID访问,然后我能够访问特定的单元格。

'<td><a onclick=send_symbol_2(\"'+comp+'\")>'+comp+'</a></td>'

我对如何访问锚标记中包含的数据感到困惑。我之前通过添加字符串构建了表。 例如:'<tr></td><td>'+arr[4]+'</td></tr>' 我理解toString()会被调用。 我不确定如何继续前进。 我用了

rows[i].getElementsByTagName("td")[0]

访问单元格数据。

2 个答案:

答案 0 :(得分:1)

假设我们有这样一张桌子

<table id="table">
  <tr><td>11</td><td>12</td></tr>
  <tr><td>21</td><td>22</td></tr>
</table>

然后,为了访问某些特定的单元格内容,我将使用以下方法:

  function getCellContent(x, y) {
    x = parseInt(x, 10);
    y = parseInt(y, 10);
    if(isNaN(x) || --x < 0 || isNaN(y) || --y < 0) {
      return;
    }
    var tE = document.getElementById('table');
    var rows = tE.getElementsByTagName('tr');
    if(!rows || y >= rows.length) {
      return;
    }
    var row = rows[y];
    var cells = row.getElementsByTagName('td');
    if(!cells || x >= cells.length) {
      return;
    }
    var cell = cells[x];
    return cell.innerHTML;
  }

  console.log(getCellContent(1, 2)); // "12"

注意,xy参数是从“1”开始的。这就是我减少争论的原因。三个return语句用于不良参数和超出范围的保护。如果有什么不好的话你就会得到undefined

我还创建了一个Plunker demo

答案 1 :(得分:1)

试试这个:

var tableObj = document.getElementById("testTable");
var rows = tableObj.getElementsByTagName("tr");
for(var i=0; i< rows.length ; i++){
  var cells = rows[i].getElementsByTagName("td");
  for (var j=0; j<cells.length ; j++) {
    console.log(cells[j].innerText);
  }
}
<table id="testTable">
  <tr>
    <td>1</td><td>2</td>
  </tr>
   <tr>
    <td>3</td><td>4</td>
  </tr>
</table>