Javascript 使用jQuery将复杂的li应用于降序

Javascript 使用jQuery将复杂的li应用于降序,javascript,jquery,sorting,html-lists,Javascript,Jquery,Sorting,Html Lists,在下面的演示中,它根据文本订购了李的 8 我想根据缩写中的文字订购李的 我真的很感谢你的帮助。 我最近一直在做这件事,我被卡住了 html 彼得 62 玛丽 83 保罗 50 艾伦 110 javascript function sortUnorderedList(ul, sortDescending) { if (typeof ul == "string") ul = document.getElementById(u

在下面的演示中,它根据文本订购了李的

8
我想根据缩写中的文字订购李的

我真的很感谢你的帮助。 我最近一直在做这件事,我被卡住了

html


  • 彼得 62
  • 玛丽 83
  • 保罗 50
  • 艾伦 110
javascript

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

            var lis = ul.getElementsByTagName("LI");

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

            if (sortDescending) vals.reverse();

            for (var i = 0, l = lis.length; i < l; i++)
            lis[i].innerHTML = vals[i];
        }

        window.onload = function() {
            var desc = false;
            document.getElementById("test").onclick = function() {
                sortUnorderedList("list", desc);
                desc = !desc;
                return false;
            }
        }
函数sortUnorderedList(ul,sortDescending){
if(typeof ul==“string”)ul=document.getElementById(ul);
var lis=ul.getElementsByTagName(“LI”);
var VAL=[];
对于(变量i=0,l=lis.length;i
首先,文档中的
id
值不应超过一个。任何形式的查询都会失败

关于您的问题,您可以在数组中插入
abbr
中的文本,与
li
一起排序,然后根据文本排序。请记住,将代码更改为-

for (var i = 0, l = lis.length; i < l; i++)
{
    // pushing an array with text as second field
    vals.push([lis[i].innerHTML, lis[i].getElementsByClassName("butarti")[0].innerHTML]);
}

// sorting the final based on text
vals.sort(function(a,b){return parseInt(a[1]) - parseInt(b[1])});

if (sortDescending) vals.reverse();

// replacing the existing li tags html
for (var i = 0, l = lis.length; i < l; i++)
    lis[i].innerHTML = vals[i][0];
for(变量i=0,l=lis.length;i
希望这能奏效

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

            var lis = ul.getElementsByTagName("LI");

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

            if (sortDescending) vals.reverse();

            for (var i = 0, l = lis.length; i < l; i++)
            lis[i].innerHTML = vals[i];
        }

        window.onload = function() {
            var desc = false;
            document.getElementById("test").onclick = function() {
                sortUnorderedList("list", desc);
                desc = !desc;
                return false;
            }
        }
for (var i = 0, l = lis.length; i < l; i++)
{
    // pushing an array with text as second field
    vals.push([lis[i].innerHTML, lis[i].getElementsByClassName("butarti")[0].innerHTML]);
}

// sorting the final based on text
vals.sort(function(a,b){return parseInt(a[1]) - parseInt(b[1])});

if (sortDescending) vals.reverse();

// replacing the existing li tags html
for (var i = 0, l = lis.length; i < l; i++)
    lis[i].innerHTML = vals[i][0];