我在 dom 树中有多个表,我想计算每个表中的单元格数。
代码:
function tree() {
var table = document.getElementsByTagName('table');
for (var p = 0, tr; tr= table[p]; p++) {
for (var i =0, row; row = tr.rows[i]; i++) {
console.log(row.cells.length)
}
}
}
Run Code Online (Sandbox Code Playgroud)
控制台日志(树())
html:
<table>
<tr>
<td>First</td>
<td>row</td>
</tr>
<tr>
<td>and</td>
<td>second</td>
</tr>
</table>
<table>
<tr>
<td>First</td>
<td>row</td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
第一个有 4 个单元格,第二个有 2 个单元格,我想打印出表格中计数最大的单元格。因此,o/p 将是:
4
Run Code Online (Sandbox Code Playgroud)
我上面的js代码,返回一个表中所有单元格的总长度。如何遍历树中的表格并找到最大的单元格数?
谢谢!
使用querySelectorAll()来简化这一点。
以下代码将4在您的 OP 中输出。这是获得包含最多单元格的表格的简单修改,我怀疑这就是您的意思(尚不清楚)。
// Get your list of all tables in the document.
const tables = document.querySelectorAll('table');
// Map list of tables to list of number of <td> elements.
const lengths =
Array.from(tables)
.map(table => table.querySelectorAll('td').length)
// Get the max of the list of lengths and log to console.
const max = Math.max(...lengths);
console.log(max);Run Code Online (Sandbox Code Playgroud)
<table>
<tr>
<td>First</td>
<td>row</td>
</tr>
<tr>
<td>and</td>
<td>second</td>
</tr>
</table>
<table>
<tr>
<td>First</td>
<td>row</td>
</tr>
</table>Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2427 次 |
| 最近记录: |