使用jQuery对li进行排序

时间:2015-01-18 05:06:00

标签: javascript jquery

2 个答案:

答案 0 :(得分:2)

您正在比较字符串。比较字符串时,您会得到:

"10" <  "2"
true

而是将字符串强制为ints base 10:

parseInt("10", 10) <  parseInt("1", 10)
false

试试这个:

$("#sortable3, #sortable4").children().sortDomElements(function(a,b){
    akey = parseInt(($(a).attr("sortkey"), 10);
    bkey = parseInt($(b).attr("sortkey"), 10);
    if (akey == bkey) return 0;
    if (akey < bkey) return -1;
    if (akey > bkey) return 1;
});

应该修复它。

答案 1 :(得分:1)

尝试将密钥转换为数字。

akey = parseInt($(a).attr("sortkey");
...