2013-10-18 37 views
0

這是按名稱排序div類而不是按字母名排序的最短和最好的方法。按名稱排序div類jQuery

這裏是我的測試網站:

http://devauth.labscope.de/htmlapp/report-overview_test.html

我會在內容DIV類,以便進行排序:

  1. DIV CLASS = 「dark_red_gradient」
  2. DIV CLASS = 「red_gradient」
  3. div class =「orange_gradient」
  4. div class =「yellow _gradient」
  5. DIV CLASS = 「white_gradient」

我怎麼能解決這個問題?我知道我可以給我的班級dark_red_1,但我會解決這個問題。

我希望有人有想法。

+0

你是什麼意思,不按字母表名稱? – Dvir

+0

[jQuery - 按類名排序DIVs]的可能重複(http://stackoverflow.com/q/5076844/1612146) – George

+2

如果不按字母順序排列,你想如何排序它們? – Johan

回答

1

嘗試

var array = ['dark_red_gradient', 'red_gradient', 'orange_gradient', 'yellow_gradient', 'white_gradient']; 

var $ul = $('#mytest'); 
var sorted = $ul.children('li').get().sort(function (o1, o2) { 
    return $.inArray(o1.className, array) - $.inArray(o2.className, array) 
}); 
$.each(sorted, function() { 
    $(this).appendTo($ul) 
}); 

假設mytest是容器li元素的id。

+0

我試過這個,但不起作用:( –

+0

@戴夫-88是否將'id'添加到'ul'也需要做到這一點在dom準備好....也是你的測試網站更新了這個變化 –

+0

是的,我做它在DOM準備代碼更新report-overview.js –