我有一个带有树层次结构的表。当您单击它们时,某些行会打开更多行,这些都是使用jquery完成的。但是,我想要排序在输出之前打开的行。有一个简单的方法来做到这一点。我对jquery不太好。 。
我有类似的东西
$( "##table" ).find( "tr.entry[con=" + condition1 + "]" ).each( function(evt) {
. . . . .
} );
它获取我想要为所单击的行输出的行,然后隐藏或显示它们。但是,我想首先根据列值对它们进行排序,然后输出它们。是否有.sort()类型的功能可以为我做这个工作?如果没有,我将如何去做呢?
答案 0 :(得分:0)
jQuery(selector)
返回的结果是一个数组。您可以使用.sort
方法对它们进行排序。
然后,您可以使用jQuery的操纵器(.detach
,.append
,.insertAfter
...)删除并重新插入元素。
示例(fiddle):
var $rows = $('#tbl tbody').find('tr').sort(function (a, b) {
var va = parseInt($(a).find('td').text(), 10);
var vb = parseInt($(b).find('td').text(), 10);
return vb - va;
});
$rows.detach();
$('#tbl tbody').append($rows);