Jquery вставить новую строку в таблицу с определенным индексом

Я знаю, как добавить или добавить новую строку в таблицу с помощью jquery:

$('#my_table > tbody:last').append(html);

Как вставить строку (заданную в переменной html) в определенный «индекс строки» i . Так, если, например, i = 3 , строка будет вставлена ​​в таблицу как 4-я строка.

109
задан Augustus 2 October 2016 в 12:17
поделиться

5 ответов

Вы можете использовать .eq() и .after() например:

$('#my_table > tbody > tr').eq(i-1).after(html);

Индексы основаны на 0, поэтому 4-я строка, вам нужно i-1, так как .eq(3) будет 4-й строкой, вам нужно вернуться к 3-й строке (2 ) и вставьте .after() это.

151
ответ дан 24 November 2019 в 03:23
поделиться
$('#my_table tbody tr:nth-child(' + i + ')').after(html);
0
ответ дан 24 November 2019 в 03:23
поделиться
$($('#my_table > tbody:last')[index]).append(html);
-1
ответ дан 24 November 2019 в 03:23
поделиться

Попробуйте это:

var i = 3;

$('#my_table > tbody > tr:eq(' + i + ')').after(html);

или это:

var i = 3;

$('#my_table > tbody > tr').eq( i ).after(html);

или это:

var i = 4;

$('#my_table > tbody > tr:nth-child(' + i + ')').after(html);

все эти поместит строку в ту же позицию. nth-child использует индекс, основанный на 1.

16
ответ дан 24 November 2019 в 03:23
поделиться

Используйте селектор eq, чтобы выбрать n-ю строку (начиная с 0) и добавить свою строку после нее, используя after, поэтому:

$('#my_table > tbody:last tr:eq(2)').after(html);

где html — это tr

0
ответ дан 24 November 2019 в 03:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: