javascript - 尝试使用 javascript 对我的 html 中的列表进行排序

标签 javascript html

我在使用下面的代码时遇到了一些问题:

HTML:

<p>click to <a onclick ="sortList(); return false;" href="#">sort</a></p>
<ul id="fruits">
  <li>apple</li>
  <li>orange</li>
  <li>banana</li>
</ul>

Javascript:

function sortList(listId) {
    var list = document.getElementbyId(listId);
    var children = list.childNodes;

    var listItemsHTML = new Array();
    for (var i = 0; i < children.length; i++) {
        if (children[i].nodeName === "LI") {
            listItemsHTML.push(children[i].innerHTML);
        }
    }
    listItemsHTML.sort();
    list.innerHTML="";
    for (var i = 0; i < listItemsHTML.length; i++) {
        list.innerHTML += "<li>" + listItemsHTML[i] + "</li>";
    }
}

但是,当我尝试单击链接对 html 进行排序时,什么也没做,我不确定问题出在哪里。我正在引用并能够使用 changeit 和 echo 函数在 .js 文件中生成一条警报消息,只是无法排序

最佳答案

您需要将 listId 作为参数传递给函数,例如 onclick ="sortList('fruits'); return false;" 并更改 document.getElementbyId()document.getElementById() 这是一个拼写错误

function sortList(listId) {
    var list = document.getElementById(listId);
    var children = list.childNodes;

    var listItemsHTML = new Array();
    for (var i = 0; i < children.length; i++) {
        if (children[i].nodeName === "LI") {
            listItemsHTML.push(children[i].innerHTML);
        }
    }
    console.log(listItemsHTML);
    listItemsHTML.sort();
    list.innerHTML="";
    for (var i = 0; i < listItemsHTML.length; i++) {
        list.innerHTML += "<li>" + listItemsHTML[i] + "</li>";
    }
}
<p>click to <a onclick ="sortList('fruits'); return false;" href="#">sort</a></p>
          <ul id="fruits">
          <li>apple</li>
          <li>orange</li>
          <li>banana</li>
          </ul>

关于javascript - 尝试使用 javascript 对我的 html 中的列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43360421/

相关文章:

JavaScript 向下舍入

javascript - 无法使用 React Redux 存储数据?

html - 您可以在 Angular 8 中为使用 [disabled] 属性触发的元素设置样式吗?

html - Gmail 如何防止使用绝对定位的元素重叠?

javascript - 在 IE 11 超链接中强制下载 Microsoft Outlook (.msg) 文件

javascript - 为什么我不能切换我的样式表?

javascript - 选择所有复选框 JS 切换问题

javascript - 如何在 VS Code 中使用 JavaScript 私有(private)字段?

javascript - jquery jtable 中的分页显示 1 2 3 NAN NAN 4

javascript - 为什么开发人员偶尔会在 "SharedArrayBuffer" "Atomics"属性中添加 ".eslintrc.json"和 "globals"?