这是一个后续问题 How to sort children by value in jQuery
这是使用金额值的范围对一堆链接进行排序的代码:
$('#sortamount').on('click', function () {
$('.entrylink').sort(function(a, b) {
return $(a).find('.amount').text() - $(b).find('.amount').text();
})
.appendTo('#entrytable');
});
我不完全理解这一行:
return $(a).find('.amount').text() - $(b).find('.amount').text();
以及.append如何在将新排序的条目链接附加到表之前清除表。如何进行排序? .appendTo会自动用新排序的内容替换入口表的内容吗?
答案 0 :(得分:2)
由于您正在使用算术运算,因此在-
运算完成之前,LHS和RHS的值都将转换为数字。
这里我们实际上是对DOM元素进行排序,因此在排序之后,您将以新的顺序获得DOM元素。当你在DOM中已经存在的一组DOM元素上使用append时,它将从旧位置移除并将被放置在新位置。