我正在使用Jquery UI来让用户对列表进行排序.我有一个按钮来显示答案(如果需要),它将根据ID将列表排序.对列表进行排序的函数是:
function show_order() {
var elems = $('#sortable').children('li').remove();
elems.sort(function(a,b){
return parseInt(a.id) > parseInt(b.id);
});
$('#sortable').append(elems);
}
这在Chrome和Firefox上运行良好,但在IE(11)中却无法运行-控制台中没有错误.
例如,参见http://jsfiddle.net/bvacK/.
解决方法:
.sort期望您返回小于0(小于b),0(等于)或大于0(大于b)的值.只需返回>的结果即可.比较将产生一个布尔值.相应地更改代码:
return parseInt(a.id, 10) - parseInt(b.id, 10);