色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

jquery要排序的列名

在前端開(kāi)發(fā)中,我們經(jīng)常會(huì)遇到需要在表格中進(jìn)行排序的需求。而 jQuery 是一個(gè)非常優(yōu)秀的 JavaScript 庫(kù),可以輕松地實(shí)現(xiàn)這一功能。但在進(jìn)行表格排序時(shí),我們需要明確哪些表頭可以被排序,因此本文將介紹如何使用 jQuery 實(shí)現(xiàn)表格排序,并且實(shí)現(xiàn)讓表頭可排序。

// 在 HTML 中,我們需要為每個(gè)可以排序的表頭添加一個(gè) data-sort 屬性,并設(shè)置為它們對(duì)應(yīng)的列名
<th data-sort="id">編號(hào)</th>
<th data-sort="name">姓名</th>
<th data-sort="age">年齡</th>
<th data-sort="grade">成績(jī)</th>
// 然后在 JS 中,我們先定義一個(gè) sortColumns 數(shù)組,存儲(chǔ)所有可以排序的列名
var sortColumns = ['id', 'name', 'age', 'grade'];
// 再通過(guò)事件委托的方式,監(jiān)聽(tīng)表頭的點(diǎn)擊事件,并在點(diǎn)擊時(shí)獲取當(dāng)前點(diǎn)擊的列名
$('table').on('click', 'th[data-sort]', function() {
var col = $(this).data('sort');
if (sortColumns.indexOf(col) === -1) {
return;
}
// 進(jìn)行排序操作
// ...
});

在上面的代碼中,我們先定義了一個(gè) sortColumns 數(shù)組,存儲(chǔ)所有可以排序的列名。然后通過(guò)事件委托的方式,監(jiān)聽(tīng)表頭的點(diǎn)擊事件,獲取當(dāng)前點(diǎn)擊的列名,并判斷該列名是否在 sortColumns 數(shù)組中。如果不在則說(shuō)明該列不可排序,直接返回。如果在,則進(jìn)行排序操作(參考排序方法具體實(shí)現(xiàn))。

最后再附上排序方法的簡(jiǎn)單實(shí)現(xiàn),使用數(shù)組的 sort 方法進(jìn)行排序,并利用 HTML5 的 data-* 屬性來(lái)記錄當(dāng)前表格是按照哪個(gè)列排序的。

// 定義 sortTable() 方法
function sortTable(col) {
$('table').find('tbody tr').sort(function(a, b) {
var numA = Number($(a).find('td[data-col=' + col + ']').text()),
numB = Number($(b).find('td[data-col=' + col + ']').text());
if (isNaN(numA) || isNaN(numB)) {
return $(a).text() > $(b).text() ? 1 : -1;
}
return numA - numB;
}).appendTo('table tbody');
$('table').data('sort-by', col);
}
// 實(shí)現(xiàn)排序操作
$('table').on('click', 'th[data-sort]', function() {
var col = $(this).data('sort');
if (sortColumns.indexOf(col) === -1) {
return;
}
sortTable(col);
});
上一篇div href
下一篇div id賦值