一尘不染

如何使用jQuery按字母顺序对列表进行排序?

javascript

我在这里有点深,我希望这实际上是可能的。

我希望能够调用一个函数,该函数将按字母顺序对列表中的所有项目进行排序。

我一直在寻找通过jQuery UI进行排序,但事实并非如此。有什么想法吗?


阅读 502

收藏
2020-04-25

共1个答案

一尘不染

不会 需要jQuery来做到这一点…

function sortUnorderedList(ul, sortDescending) {
  if(typeof ul == "string")
    ul = document.getElementById(ul);

  // Idiot-proof, remove if you want
  if(!ul) {
    alert("The UL object is null!");
    return;
  }

  // Get the list items and setup an array for sorting
  var lis = ul.getElementsByTagName("LI");
  var vals = [];

  // Populate the array
  for(var i = 0, l = lis.length; i < l; i++)
    vals.push(lis[i].innerHTML);

  // Sort it
  vals.sort();

  // Sometimes you gotta DESC
  if(sortDescending)
    vals.reverse();

  // Change the list on the page
  for(var i = 0, l = lis.length; i < l; i++)
    lis[i].innerHTML = vals[i];
}

易于使用…

sortUnorderedList("ID_OF_LIST");
2020-04-25