js 手写table排序
时间: 2023-10-02 21:05:31 浏览: 101
下面是一个手写的 JavaScript table 排序函数:
```javascript
function sortTable(tableId, column, asc=true) {
var table = document.getElementById(tableId);
var tbody = table.getElementsByTagName('tbody')[0];
var rows = [].slice.call(tbody.getElementsByTagName('tr'));
var dir = asc ? 1 : -1;
rows.sort(function(a, b) {
var aText = a.getElementsByTagName('td')[column].textContent.trim();
var bText = b.getElementsByTagName('td')[column].textContent.trim();
return aText > bText ? dir : -dir;
});
for (var i = 0; i < rows.length; i++) {
tbody.appendChild(rows[i]);
}
}
```
使用方法:
1. 给需要排序的 table 添加 id:
```html
<table id="myTable">
<thead>
<tr>
<th>姓名</th>
<th>年龄</th>
<th>性别</th>
</tr>
</thead>
<tbody>
<tr>
<td>张三</td>
<td>20</td>
<td>男</td>
</tr>
<tr>
<td>李四</td>
<td>25</td>
<td>女</td>
</tr>
<tr>
<td>王五</td>
<td>30</td>
<td>男</td>
</tr>
</tbody>
</table>
```
2. 调用排序函数:
```javascript
sortTable('myTable', 1, true); // 按年龄升序排序
sortTable('myTable', 1, false); // 按年龄降序排序
```
阅读全文