簡體   English   中英

Javascript / JQuery按字母順序排列帶有錨點的列表

[英]Javascript/JQuery to sort alphabetically a list with anchors

我有這個清單:

<ul id="demoOne" class="demo">
    <li><a href='http://site/Service.aspx?shId=1154'>Dhenie fotokopje aktesh nga dosja 12</a></li>
    <li><a href='http://site/Service.aspx?shId=1155'>Depozitim kerkesash Ankimore/Rekurse
        kunder vendimeve civile/penale 12</a></li>
    <li><a href='http://site/Service.aspx?shId=1156'>Dhenie Vendimesh12</a></li>
    <li><a href='http://site/Service.aspx?shId=1157'>Integrimi i Ish te Perndjekurve Polikite
        12</a> </li>
    <li><a href='http://site/Service.aspx?shId=1158'>Dhenie Drejtesie</a></li>
    <li><a href='http://site/Service.aspx?shId=1159'>Gjykata e Rrethit Gjyqësor Lezhë ushtron
        juridiksionin gjyqësor civil dhe penal në territorin e qarkut Lezhë të Republikës
        së Shqipërisë.</a></li>
</ul>

我想按字母順序對此列表進行排序,使用錨文本,而不是li文本。 怎么做?

我正在使用這個腳本按照li文本對它們進行排序

function sortUnorderedList(ul, sortDescending) {
        var items = $('.demo li').get();
        items.sort(function(a,b){ 


          var keyA = $(a).text();
          var keyB = $(b).text();

          if (keyA < keyB) return -1;
          if (keyA > keyB) return 1;
          return 0; 

          var keyA = $(a).text();
          var keyB = $(b).text();

          if (keyA < keyB) return -1;
          if (keyA > keyB) return 1;
          return 0;

        });
        var ul = $('.demo');
        $.each(items, function(i, li){
          ul.append(li);
        });
    }

嘗試這個:

$(function() {
    $.fn.sortList = function() {
    var mylist = $(this);
    var listitems = $('li', mylist).get();
    listitems.sort(function(a, b) {
        var compA = $(a).text().toUpperCase();
        var compB = $(b).text().toUpperCase();
        return (compA < compB) ? -1 : 1;
    });
    $.each(listitems, function(i, itm) {
        mylist.append(itm);
    });
   }

    $("ul#demoOne").sortList();

});

您可以使用sort方法。

$('#demoOne li').sort(function(a, b){
     return $('a', a).text() > $('a', b).text()
}).appendTo('#demoOne');

http://jsfiddle.net/w3jfF/

你可以使用jQuery來獲取所有的li 然后使用toArray獲取javascript本機數組。 您可以使用sort方法對數組進行sort並提供與您的需求相對應的排序功能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM