0

大家早上好,

我有一些代码可以对我拥有的列表的直接 LI 进行排序,但是我希望它也可以按字母顺序对子级别进行排序,但是我尝试过的所有内容都不起作用,包括将类添加到子级别 - 这只是附加每个 LI 到它,这显然是错误的。

有人可以看一下代码并帮帮我吗?我将不胜感激:)

http://codepen.io/andyjh07/pen/yetIq

4

1 回答 1

1

试试这个:

function firstLevel(){
  var mylist = $('ul.sort');
  var listitems = mylist.children('li').get();

  listitems.sort(function(a, b) {
    var compA = $(a).text().toUpperCase();
    var compB = $(b).text().toUpperCase();
    return (compA < compB) ? -1 : (compA > compB) ? 1 : 0;
  });
  $.each(listitems, function(idx, itm) { 
    mylist.append(itm); 
  });

  secLevel();
}

function secLevel(){
  var sublist = $('ul.sort li ul');
  var sublistitems = sublist.children('li').get();
  sublistitems.sort(function(a, b) {
    var compA = $(a).text().toUpperCase();
    var compB = $(b).text().toUpperCase();
    return (compA < compB) ? -1 : (compA > compB) ? 1 : 0;
  });
  $.each(sublistitems, function(idx, itm2) { 
    sublist.append(itm2); 
  });

}


$(document).ready(function() {
  firstLevel()
});
于 2013-02-04T11:45:55.163 回答