jQuery是一款優秀的JavaScript庫,它為前端開發提供了豐富的工具和插件,使得前端開發更加便捷。表格是我們經常使用的前端組件,常常需要對表格中的數據進行排序。在本示例中,我們將演示如何使用jQuery對表格進行前端排序。
//獲取表格數據 var tableData = []; $("table tr:not(:first)").each(function () { var item = {}; item.name = $(this).find("td:eq(0)").text(); item.age = parseInt($(this).find("td:eq(1)").text()); item.salary = parseInt($(this).find("td:eq(2)").text()); tableData.push(item); }); //按照年齡排序 $("#ageSort").click(function () { tableData.sort(function (a, b) { return a.age - b.age; }); renderTable(); }); //按照薪水排序 $("#salarySort").click(function () { tableData.sort(function (a, b) { return a.salary - b.salary; }); renderTable(); }); //渲染表格 function renderTable() { var html = ""; $.each(tableData, function (i, item) { html += "<tr>"; html += "<td>" + item.name + "</td>"; html += "<td>" + item.age + "</td>"; html += "<td>" + item.salary + "</td>"; html += "</tr>"; }); $("table tbody").html(html); }
首先,我們使用jQuery獲取表格中的數據,將其存儲在一個JavaScript數組中。然后,我們使用sort()方法對表格數據進行排序。在本示例中,我們提供了兩種排序方式:按照年齡和按照薪水排序。當用戶點擊排序按鈕時,我們調用對應的排序函數。最后,我們使用renderTable()函數將排序后的結果重新渲染為表格。
需要注意的是,在使用sort()方法對表格數據進行排序時,需要指定一個比較函數。比較函數的返回值表示兩個元素的大小關系,如果返回值小于0,表示a在b之前;如果返回值等于0,表示a和b相等;如果返回值大于0,表示a在b之后。