1

我在选择的表中有两组行:

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

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

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

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

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

这是我所看到的一个例子:http: //jsfiddle.net/5vBfA/

4

2 回答 2

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/

于 2013-04-05T00:55:04.533 回答
0

你试过这个吗?

$(".anyOtherTableRow").after(slice1).after(slice2);
于 2013-04-04T23:52:21.103 回答