按字母顺序排序无序列表

时间:2016-06-17 19:55:35

标签: javascript jquery html

我想按字母顺序对无序列表进行排序。我尝试了很多不同的javascript解决方案,其中没有一个工作(在Safari和Chrome中测试过)。这是我想要使用的代码:

var activeLanguage = "de"

function sortUL(selector) {
  var $ul = $(selector);
  $ul.find('li').sort(function(a, b) {
    var upA = $(a).text().toUpperCase();
    var upB = $(b).text().toUpperCase();
    return (upA < upB) ? -1 : (upA > upB) ? 1 : 0;
  }).appendTo(selector);
};

$(document).ready(function() {
  sortUL("#WoodList");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<ul id="WoodList">
  <li>Banana</li>
  <li>Catv</li>
  <li>Apple</li>
  <li>Orange</li>
  <li>Car</li>
  <li>Pear</li>
  <li>Banana</li>
  <li>Cat2</li>
  <li>Apple4</li>
  <li>Banana1</li>
  <li>Cat</li>
  <li>Apples</li>
  <li>Banana</li>
  <li>Cat</li>
</ul>

列表在浏览器中保持未分类状态。为什么不起作用?

1 个答案:

答案 0 :(得分:3)

以下是JSFiddle的一个工作示例:https://jsfiddle.net/vzbgzexc/

确保您正在加载jQuery。在你加载jQuery的代码中,它看起来并不像你在使用$。您可能在浏览器的控制台中收到类似这样的错误:

ReferenceError: $ is not defined

插入:

<script src="https://code.jquery.com/jquery-3.0.0.min.js"></script>

希望有所帮助!