如何在表中交换两组行

时间:2013-04-04 23:47:15

标签: javascript jquery html-table

我在一个表中选择了两组行:

var slice1 = $( table ).children( "tr" ).slice( i - rowsPerItem, i );
var slice2 = $( table ).children( "tr" ).slice( i, i + rowsPerItem );

我可以使用css和verify突出显示正确的行。现在我想将它们在父表中的位置作为一组交换。它们的两个集合在表中始终是一个接一个,并且包含相同的行数。

我尝试的所有东西只移动了一行:

$( slice1 ).after( slice2[slice2.length-1] );

如何以相同的顺序将这些集合或行保持在一起,但是在表格中交换它们的位置?

以下是我所看到的示例:http://jsfiddle.net/5vBfA/

2 个答案:

答案 0 :(得分:1)

尝试使用insertAfter方法:

$("#SwapButton").click(function () {
    var i = 2;
    var rowsPerItem = 2;
    var $tr = $("#TheTable").find('tr');

    var $slice1 = $tr.slice(i - rowsPerItem, i);
    var $slice2 = $tr.slice(i, i + rowsPerItem);

    $slice1.insertAfter($slice2[$slice2.length - 1]);
});

http://jsfiddle.net/P2vSK/1/

答案 1 :(得分:0)

你试过这个吗?

$(".anyOtherTableRow").after(slice1).after(slice2);