【问题标题】:How to swap two sets of rows in a table如何交换表中的两组行
【发布时间】:2023-03-29 21:05:01
【问题描述】:

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

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/

【问题讨论】:

  • 你能提供一个演示吗?
  • @undefined 我添加了一个 jsFiddle 示例。

标签: javascript jquery html-table


【解决方案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/

【讨论】:

  • 本可以发誓我试过了,但我想没有。效果很好。
【解决方案2】:

你试过了吗?

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

【讨论】:

  • 如果我从字面上使用那行代码,我会得到与以前相同的错误结果。
猜你喜欢
  • 2020-12-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-15
  • 1970-01-01
  • 2015-10-01
相关资源
最近更新 更多