如何计算特定<td>
中的<tr>
元素数?
我没有指定要直接访问的ID或名称,我们必须使用document.getElementsByTagName
概念。
答案 0 :(得分:6)
您可以使用以下内容:
var rowIndex = 0; // rowindex, in this case the first row of your table
var table = document.getElementById('mytable'); // table to perform search on
var row = table.getElementsByTagName('tr')[rowIndex];
var cells = row.getElementsByTagName('td');
var cellCount = cells.length;
alert(cellCount); // will return the number of cells in the row
答案 1 :(得分:3)
document.getElementsByTagName返回一个元素数组,因此您应该能够执行以下操作:
var totals = new Array();
var tbl = document.getElementById('yourTableId');
var rows = tbl.getElementsByTagName('tr');
for (var i = 0; i < rows.length; i++) {
totals.push(rows[i].getElementsByTagName('td').length;
}
...
// total cells in row 1
totals[0];
// in row 2
totals[1];
// etc.
答案 2 :(得分:2)
bobince有正确的答案。我试图给他一些爱,但我是新的0代表。
tr.cells.length是获得所需内容的最快捷方式。
现在,假设你已经有了对tr的引用。如果不这样做,在某些时候你必须引用该表。在DOM中,table元素有一个名为rows的数组(实际上是一个HTMLCollection)。
table.rows[r].cells[c]
将为您提供任何单元格的地址,其中r =行的索引,c =该行中单元格的索引。
答案 3 :(得分:1)
像
这样的东西var tot = 0;
var trs = document.getElementsByTagName("tr");
for (i = 0; i < trs.length; i++) {
tds = trs[i].getElementsByTagName("td");
tot += tds.length;
}
最后,tot
保存tr元素的所有td元素“sons”的总数。
答案 4 :(得分:1)
var trs = document.getElementsByTagName('tr');
for(var i=0;i<trs.length;i++){
alert("Number of tds in row '+(i+1)+' is ' + tr[i].getElementsByTagName('td').length);
}
将警告每个&lt; tr&gt;中的&lt; td&gt;的数量。在页面上。
答案 5 :(得分:1)
如果你使用jQuery库,它应该就这么简单。
$("table tr:eq(0) > td").length
您可以像CSS3一样使用任何选择器作为选择器
$("#mytableid tr").eq(0).children("td").length
这将是另一种方式。
答案 6 :(得分:1)
tr.cells.length
拼写它是一种更简单的方法。