如何使用JQuery对包含数字内容的列表进行排序(排序)

我有一个动态创建的列表:

  • 20
  • 10
  • 5
  • 3
  • 32
  • 25
  • 6
  • 12
  • 8

是否可以使用JQuery订购此列表? 我需要它从低到大排序,像这样:

 
  • 3
  • 5
  • 6
  • 8
  • 10
  • 12
  • 20
  • 25
  • 32

谢谢你的帮助!

下面应该做的伎俩,

DEMO

 $(function () { var liContents = []; $('ul li').each (function () { liContents.push(parseInt($(this).text(), 10)); }); liContents.sort(numOrdDesc); $('ul li').each (function () { $(this).text(liContents.pop()); }); }); function numOrdDesc(a, b){ return (ba); } 
 var li = $('ul li'); li.sort(function(a, b) { if(parseInt($(a).text()) > parseInt($(b).text())) return 1; else return -1; }); $('ul').empty().html(li); 

还有jQuery插件来处理这个问题。 查看TinySort

 $(function(){ var elems = $('ul').children('li').remove(); elems.sort(function(a,b){ return parseInt($(a).text()) > parseInt($(b).text()); }); $('ul').append(elems); });​ 

例子

 var listItems = []; $("#list li").each(function() { listItems.push(parseInt($(this).text())); });​​​​ listItems.sort(function(a,b){return a - b}); $("#list").html(""); $.each(listItems, function(i, v) { $("#list").append($("
  • " + v + "
  • ")); });

    见: http : //jsfiddle.net/46J5u/1/

    使用sortContent插件,一切都将变得简单, 干净并且可以重复使用:

      $('ul').sortContent({helper:myhelper}); 

    已知:

     myhelper=function(e){ return $('a',$(e)).attr('href'); } 

    DEMO


    如果您想了解其他选项,请访问Plugin HOMEPAGE