我有一个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]
访问单元格数据。
答案 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"
注意,x
,y
参数是从“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>