使用jQuery对表列(tr)进行排序

时间:2013-07-22 17:46:20

标签: jquery html arrays sorting html-table

我得到了这个表,我需要按属性(kind_id)对列进行排序,但不仅仅是上升或后代,我得到了一系列ID,排序应该遵循。

这是专栏的一个例子:

<tr id='music' class='unchecked' selezionato='no'  kind_id='203'>
    <td id='music' width='179px'>
       <div id='nome_music'>
           Rock
       </div>
    </td>
</tr>  

这是数组的一个例子

["203", "10", "12", "15", "25", "46", "56", "61", "102", "104", "114", "116", "121", "138", "142", "145", "187", "189", "190", "204", "205", "208", "214", "220"] 

我怎么能这样做?

2 个答案:

答案 0 :(得分:1)

您可以使用像underscore.js这样的库,并使用内置方法sortBy

underscore.js sortBy

答案 1 :(得分:0)

您可以使用排序功能。假设你的table元素有一个id(“myTable”)并且你的数组变量被称为arrayOfIndices

function sortById (row1, row2){
    return arrayOfIndices.indexOf($(row1).attr("kind_id")) > arrayOfIndices.indexOf($(row2).attr("kind_id")) ? 1 : -1; 
}

$("#myTable tr").sort(sortById).appendTo("#myTable");