Jquery在某个索引处将新行插入表中

aeq*_*aeq 109 javascript jquery html-table

我知道如何使用jquery将新行追加或添加到表中:

$('#my_table > tbody:last').append(html);
Run Code Online (Sandbox Code Playgroud)

如何将行(在html变量中给出)插入到特定的"行索引"中i.因此i=3,例如,如果该行将作为表中的第4行插入.

Nic*_*ver 151

你可以使用.eq().after()喜欢这样:

$('#my_table > tbody > tr').eq(i-1).after(html);
Run Code Online (Sandbox Code Playgroud)

索引是基于0的,所以要成为第4行,i-1因为它.eq(3)是第4行,你需要回到第3行(2)并插入.after()它.

  • 应该注意的是,如果jQuery的eq函数被赋予负值,它将循环到表的末尾.因此,运行它并尝试将其插入0索引将导致在行结尾插入新行 (8认同)
  • 如果要在该索引之前插入,请添加`.before(html)` (2认同)

use*_*716 16

试试这个:

var i = 3;

$('#my_table > tbody > tr:eq(' + i + ')').after(html);
Run Code Online (Sandbox Code Playgroud)

或这个:

var i = 3;

$('#my_table > tbody > tr').eq( i ).after(html);
Run Code Online (Sandbox Code Playgroud)

或这个:

var i = 4;

$('#my_table > tbody > tr:nth-child(' + i + ')').after(html);
Run Code Online (Sandbox Code Playgroud)

所有这些都将行放在相同的位置.nth-child使用基于1的索引.