我需要你的帮助,
如果以下代码计算表中的每个表行,如何修改它以使代码不会将<th></th>
计为行本身?
var rows = document.getElementById("data").rows.length;
答案 0 :(得分:3)
你应该使用thead和tbody
HTML:
<table id="data">
<thead>
<tr><th>Hz</th></tr>
</thead>
<tbody>
<tr><td>1</td></tr>
<tr><td>2</td></tr>
<tr><td>3</td></tr>
</tbody>
</table>
JavaScript的:
var rows = document.getElementById("data").getElementsByTagName("tbody")[0].rows.length;
答案 1 :(得分:3)
看看这个JSFiddle,我尝试的代码是:
var rows = document.getElementById('data').getElementsByTagName('tr');
var count = 0;
for(var i = 0; i < rows.length; i++)
{
if (rows[i].getElementsByTagName('th').length == 0)
count++;
}
alert(count);
答案 2 :(得分:0)
如果不修改HTML标记,您必须自己计算正确的行:
var rows = document.getElementById("data").rows
var count = 0;
for (var i=0; i< rows.length; i++) {
if (rows[i].cells[0].tagName != 'TH') count++
}
console.log(count)
答案 3 :(得分:0)
热爱jQuery,如果你不想用纯JS做到这一点:
$('#tableId tr').filter(function() {
return $(this).find('th').size() == 0;
}).size();