排序UL&按字母顺序排列

时间:2013-02-04 11:20:29

标签: jquery html list

早上好,

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

有人可以看看代码,请帮我一把吗?我将非常感激:)

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

1 个答案:

答案 0 :(得分: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()
});