Javascript 如何交换表中的两组行
我在选定的表中有两组行:Javascript 如何交换表中的两组行,javascript,jquery,html-table,Javascript,Jquery,Html Table,我在选定的表中有两组行: var slice1 = $( table ).children( "tr" ).slice( i - rowsPerItem, i ); var slice2 = $( table ).children( "tr" ).slice( i, i + rowsPerItem ); 我可以使用css突出显示这些行,并验证它们是否正确。现在我想将它们在父表中的位置作为一个集合交换。这两个集合在表中总是一个接一个,并且包含相同数量的行 我尝试过的所有操作都只移动一行: $(
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] );
如何将集合或行按相同顺序保持在一起,但交换它们在表中的位置
下面是我看到的一个例子:你试过这个吗
$(".anyOtherTableRow").after(slice1).after(slice2);
你试过这个吗
$(".anyOtherTableRow").after(slice1).after(slice2);
尝试使用
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]);
});
尝试使用
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]);
});
你能提供一个演示吗?@undefined我添加了一个JSFIDLE示例。你能提供一个演示吗?@undefined我添加了一个JSFIDLE示例。如果我按字面意思使用那行代码,我会得到与以前相同的错误结果。我可以发誓我尝试过,但我猜不会。那很好。我发誓我试过了,但我想不是。那很好用。