4

私はこのリストを持っています:

<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);
        });
    }
4

3 に答える 3

11

これを試して:

$(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();

});
于 2012-11-15T09:56:34.527 に答える
5

メソッドを使用できますsort

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

http://jsfiddle.net/w3jfF/

于 2012-11-15T09:49:09.887 に答える
1

jQuery を使用してすべてを取得できますli。次に toArray、javascript ネイティブ配列を取得するために使用します。また、メソッドを使用して配列をソートsortし、ニーズに対応するソート関数を提供できます。

于 2012-11-15T09:45:24.443 に答える