下面来看一段表格的代码:
<table border=”1” id=”tblSort”>
<thead>
<tr>
<th>昵称</th>
</tr>
</thead>
<tbody>
<tr>
<td>阿蜜果</td>
</tr>
<tr>
<td>娟子</td>
</tr>
<tr>
<td>sterning</td>
</tr>
</tbody>
<table>
1. 比较函数localeCompare()
使用localeCompare()函数来对<tr/>元素进行排序。见下例:
function compare(otr1, otr2) {
var sValue1 = otr1.cells[0].firstChild.nodeValue;
var sValue2 = otr2.cells[0].firstChild.nodeValue;
return sValue1.localeCompare(sValue2);
}
2. sortTable()函数
function sortTable(sTableID) {
var oTable = document.getElementById(sTableID);
var oTBody = oTable.tBodies[0];
var colDataRows = oTBody.rows;
var aTRs = new Array;
for (var i=0; i< colDataRows.length; i++) {
aTRs[i] = colDataRows[i];
}
aTRs.sort(compareTRs);
var oFragment = document.createDocumentFragment();
for (var i=0; i<aTRs.length; i++) {
oFragment.appendChild(aTRs[i]);
}
oTBody.appendChild(oFragment);
}
调用举例如下:
<table border=”1” id=”tblSort”>
<thead>
<tr>
<th onclick=”sortTable(‘tblSort’)” style=”cursor:pointer”>昵称</th>
</tr>
</thead>
<tbody>
<!—data rows-->
</tbody>
</table>