我正在使用 Javascript 对<div>
由子元素拆分为 s 的表进行排序。代码以一种方式成功排序,但我需要添加升序和降序排序的功能。
我尝试将调用者添加到表示单击哪个表头的排序属性。我设置了默认设置为 1 的全局变量,然后它们使用 if 语句在 1 和 2 之间翻转以表示升序或降序。
该表只会升序和降序排序一次,并且似乎依赖于在移动下一个表头之前移动其他表头。
var OrderAuthor = 1;
function sortUsingNestedText(parent, childSelector, keySelector, caller)
{
var items = parent.children(childSelector).sort(function(a, b)
{
var vA = $(keySelector, a).text();
var vB = $(keySelector, b).text();
if (caller.data('order_by') == 'author')
{
if (OrderAuthor == 1)
{
OrderAuthor = 2;
OrderSubject = 1;
OrderDate = 1;
return (vA < vB) ? -1 : (vA > vB) ? 1 : 0;
}
else
{
OrderAuthor = 1;
return (vA > vB) ? -1 : (vA < vB) ? 1 : 0;
}
}
});
parent.append(items);
}