javascript - 按字母顺序对无序列表进行排序

标签 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>

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

最佳答案

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

确保您正在加载 jQuery。代码中的任何地方看起来都没有加载 jQuery,但您却使用了 $。您可能会在浏览器控制台中收到类似于以下内容的错误:

ReferenceError: $ is not defined

插入:

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

希望有帮助!

关于javascript - 按字母顺序对无序列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37889443/

相关文章:

javascript - 为什么我不能正确附加具有指定 ID 的标签?这是一个逃避问题的角色吗?

javascript - 向 $form.serialize() ajax post 添加额外的数据?

javascript - 我们如何以 JSON 格式存储图像?

javascript - 如何在javascript中回到数组的开头

javascript - 在 div 上使用 z-index 时遇到问题。是jsfiddle吗?

javascript - 为什么我的排序不起作用?

javascript - 在滚动时触发 css animate 类

javascript - 将外部 JSON URL 标签和值拉入新数组

jquery - 寻求框架来实现仪表板

javascript - 如何使复选框禁用angular.js