我有一個表排序器功能,該功能僅在某些列上有效,并且僅在單擊任何內容時才對第一列進行正確排序。但是,如果我單擊first和last,它將以一種難以理解的方式對表格進行排序。我是JavaScript的新手,即使我能夠解決一些問題,也無法使其正常工作100%。這是我的小提琴:https : //jsfiddle.net/m_tibo/0t83no14/4/這是我的功能:// TABLESORTERfunction accordionTable(i, elem) { var table = $(elem), tbody = table.find('tbody'), th_index = 0, th_sortType = "int"; function mapTDs(i, elem) { var txt = $("td", elem).eq(th_index).text(); $(elem).attr("data-sort", txt); } function sortAsc(a, b) { var aData = $(a).attr("data-sort"), bData = $(b).attr("data-sort"); if (th_sortType == "string") { return +bData < +aData ? 1 : -1; // Integer } else { return bData < aData ? 1 : -1; // String or else } } //header sort table.on("click", "th", function() { th_sortType = $(this).data('sort'); th_index = $(this).index(); tbody = table.find('tbody').each(mapTDs); tbody.sort(sortAsc).detach().appendTo(table); });}$('table').each(accordionTable);我從功能中期望的是對每列上的表進行升序和降序排序。非常感謝您的幫助。
為什么我的表排序器僅在某些列上起作用?
海綿寶寶撒
2021-04-26 12:33:55