2011-05-05 51 views

回答

5
+0

不錯的一個。這似乎工作。我仍然在試圖讓$ .map()玩得很好。 – 2011-05-05 09:56:52

+1

在你的例子中,最後一個列表項不在正確的位置,你知道這是爲什麼嗎?我無法弄清楚。這是'08' – 2011-05-22 04:39:55

3

應填寫一個數組的所有元素<li>,排序這個數組使用sort(),然後empty()列表中添加append()排序的元素。

事情是這樣的:

// store the li items 
var items = $('ul li').get(); 

items.sort(function(a, b) { 
    var valueA = $(a).find("span").text(); 
    var valueB = $(b).find("span").text(); 

    if (valueA < valueB) return -1; 
    if (valueA > valueB) return 1; 
    return 0; 
}); 

// clear the list and re-add sorted items 
$("ul").empty().append(items); 

jsFiddle example here

+1

在比較過程中使用Number(valueA)和Number(valueB) – 2013-08-15 18:53:21

+0

我會將'valueA'和'valueB'變量包裝在'parseInt()'中以停止非自然排序行爲。這將在這種情況下工作,但是如果有人從字符串屬性獲得排序值,它不會正確排序。 – 2014-03-05 00:39:51

相關問題