修改行索引javascript

时间:2019-11-15 08:01:44

标签: javascript jquery html

我有一个表,能够对列进行排序,并且工作正常。

表中的行由 父行和子行 组成,当单击父行时,将显示子行。否则,子行将保持隐藏状态。

我打算基于行对行进行排序,但不对子行结果进行排序,否则表将一团糟。我尝试使用jQuery在排序之前删除所有子行,并在排序功能后附加它们,但是该列的排序功能第二次不起作用。这可能是因为行索引搞砸了。我怀疑发生这种情况的原因是,当我在变量中删除并存储子行时,行索引仍然保留。因此,当我根据父行重新插入子行时,这些子行的行索引将保持不变。

总有没有显式修改行的行索引而不交换它们的位置吗? 尝试以以下方式使用jQuery:

$('tr.child-row')[0].rowIndex = 3

但是它不会工作。

1 个答案:

答案 0 :(得分:4)

您可以更改表格中两行的顺序。

http://jsfiddle.net/4v2owx37/2

这是一个简单的代码,可以更改两行的顺序。

function swap_position(first_index, second_index){

  if(second_index > first_index){
    $("tr").eq(first_index).insertBefore($("tr").eq(second_index));
    $("tr").eq(second_index).insertBefore($("tr").eq(first_index));
  }

  else if(first_index > second_index){
    $("tr").eq(second_index).insertBefore($("tr").eq(first_index));
    $("tr").eq(first_index).insertBefore($("tr").eq(second_index));
  }

}

swap_position(1,4);
swap_position(5,3);