jquery是否在输出行之前对行进行预排序?
我有一个具有树层次结构的表。当您单击某些行时,它们会打开更多的行,这一切都是使用jquery完成的。但是,我想在输出之前对将打开的行进行排序。有没有一个简单的方法可以做到这一点。我不太擅长jquery,所以 我有类似的东西jquery是否在输出行之前对行进行预排序?,jquery,sorting,html-table,multiple-columns,rows,Jquery,Sorting,Html Table,Multiple Columns,Rows,我有一个具有树层次结构的表。当您单击某些行时,它们会打开更多的行,这一切都是使用jquery完成的。但是,我想在输出之前对将打开的行进行排序。有没有一个简单的方法可以做到这一点。我不太擅长jquery,所以 我有类似的东西 $( "##table" ).find( "tr.entry[con=" + condition1 + "]" ).each( function(evt) { . . . . . } ); 它获取我想要
$( "##table" ).find( "tr.entry[con=" + condition1 + "]" ).each( function(evt) {
. . . . .
} );
它获取我想要为单击的行输出的行,然后隐藏或显示它们。但是,我想首先根据列值对它们进行排序,然后输出它们。有没有一个.sort()函数可以帮我完成这项工作?如果没有,我该怎么做?jQuery(选择器)返回的结果是一个数组。您可以使用
.sort
方法对它们进行排序
然后可以使用jQuery的操纵器(.detach
、.append
、.insertAfter
…)删除并重新插入元素
示例():
我正试图实施你的建议,但对我来说行不通。我正在尝试对第二列中的十进制值进行排序。您可能必须使用
parseFloat
和.find('td:nth child(k)')
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);