Eu sei como acrescentar ou preceder uma nova linha em uma tabela usando jquery:
$('#my_table > tbody:last').append(html);
Como eu insiro a linha (fornecida na variável html) em um "índice de linha" específico i
. Portanto i=3
, se , por exemplo, a linha for inserida como a 4ª linha da tabela.
Respostas:
Você pode usar
.eq()
e.after()
assim:Os índices são baseados em 0, então para ser a 4ª linha, você precisa
i-1
, já.eq(3)
que seria a 4ª linha, você precisa voltar para a 3ª linha (2
) e inserir.after()
isso.fonte
.before(html)
se quiser inseri-lo antes desse índiceExperimente isto:
ou isto:
ou isto:
Todos eles colocarão a linha na mesma posição.
nth-child
usa um índice baseado em 1.fonte
Nota:
fonte
Eu sei que está chegando tarde, mas para aquelas pessoas que desejam implementá-lo puramente usando o
JavaScript
, veja como você pode fazer isso:tr
que é clicada.tr
elemento DOM.tr
nó pai referido .HTML:
Em JavaScript:
Isso adicionará a nova linha da tabela exatamente abaixo da linha na qual o botão foi clicado.
fonte
tente isto:
fonte
Use o seletor eq para selecionar a enésima linha (base 0) e adicione sua linha depois dela usando depois , para:
onde html é um
tr
fonte
fonte
Acrescentando à resposta de Nick Craver e também considerando o ponto levantado por rossisdead, se o cenário existe como se fosse necessário anexar a uma mesa vazia, ou antes de uma determinada linha, eu fiz assim:
Espero que ajude alguém.
fonte
fonte