Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jquery是否在输出行之前对行进行预排序?_Jquery_Sorting_Html Table_Multiple Columns_Rows - Fatal编程技术网

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) { . . . . . } ); 它获取我想要

我有一个具有树层次结构的表。当您单击某些行时,它们会打开更多的行,这一切都是使用jquery完成的。但是,我想在输出之前对将打开的行进行排序。有没有一个简单的方法可以做到这一点。我不太擅长jquery,所以

我有类似的东西

$( "##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);