我正在尝试对用户列表进行排序,其中用户经常更改 (#userList>div)
sortUsersAZ = function() {
var $divs = $('#userList>div');
var alphabeticallyOrderedDivs = $divs.sort(function (a, b) {
return $(a).data('username') > $(b).data('username');
});
$('#userList').html(alphabeticallyOrderedDivs);
};
它是随机工作的。似乎当#userList>div更改时,排序功能停止
有什么想法吗?
最佳答案
尝试重构您的“排序”功能。我认为它必须类似于以下内容:
var alphabeticallyOrderedDivs = $divs.sort(function(a, b) {
var nameA = $(a).data('username').toUpperCase(); // ignore upper and lowercase
var nameB = $(b).data('username').toUpperCase(); // ignore upper and lowercase
if (nameA < nameB) { return -1; }
if (nameA > nameB) { return 1; }
// names must be equal
return 0;
})
请随时查看reference .
关于javascript:当 div 发生变化时如何排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52185330/