技术开发 频道

JavaScript学习笔记——表格排序



下面来看一段表格的代码:

<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>

0
相关文章