我想根据其组对列表元素进行排序。
例如:
此:
将成为:
按字母顺序排列,Fruit的组项目先排序,然后排序为Sweets。
我不太确定如何制作它以便两种排序都是正确的。例如,我尝试对组进行排序,然后对食物进行排序,但不会对组进行排序。
function sorting() {
function sortASC(a, b) {
return $(b).find(".group").text() < $(a).find(".group").text();
}
$("li").sort(sortASC).appendTo('ul');
}
答案 0 :(得分:1)
您可以将其全部构建为一个排序函数:
function sortASC(a, b) {
// Cache Text
var a_group = $(a).find(".group").text(),
a_item = $(a).find(".item").text(),
b_group = $(b).find(".group").text(),
b_item = $(b).find(".item").text()
return (
b_group < a_group // If group is bigger
|| ( // OR
b_group == a_group // If groups are same
&& b_item < a_item // AND item is bigger
)
);
}
<强> Example Fiddle 强>