Câu hỏi của tôi rất giống với một số mục khác mà tôi đã tìm thấy trên Stack Overflow, nhưng không hoàn toàn giống nhau.Cách sắp xếp các mục danh sách bằng cách sử dụng thứ tự sắp xếp tùy chỉnh trong jQuery
Tôi muốn sắp xếp các mục danh sách dựa trên nội dung của một khoảng có trong mỗi mục - nhưng sử dụng thứ tự sắp xếp mà tôi có thể xác định. Đây là HTML cho một mục danh sách mẫu:
<li>
<span class="fname">John</span>
<span class="lname">Doe</span>
<span class="year">Sophomore</span>
</li>
Tôi muốn sắp xếp dựa trên nội dung của khoảng "năm", nhưng theo thứ tự thời gian chứ không phải theo thứ tự bảng chữ cái. Trình tự, rõ ràng, cần phải:
- Freshman
- thứ hai
- Junior
- Senior
Làm thế nào tôi có thể làm điều này?
Chỉ cần để tham khảo, tôi đang sử dụng mã jQuery sau (mà hoạt động hoàn hảo) để sắp xếp theo thứ tự abc theo tên cuối cùng:
function sortByLastName(){
var myList = $('#foo ul');
var listItems = myList.children('li').get();
listItems.sort(function(a,b){
var compA = $(a).find('.lname').text().toUpperCase();
var compB = $(b).find('.lname').text().toUpperCase();
return (compA < compB) ? -1 : (compA > compB) ? 1 : 0;
});
$(myList).append(listItems);
};
cung cấp mã của bạn xin vui lòng –