33

I have var row=<tr><td>val</td><td>val2</td></tr> and I tried this:

$("#mainTable tbody").append(row);

but it appends to the end of the table.

Also I tried $("#mainTable tr:first").after().append(row);

But have not got a result yet.

Please, help me to understand.

Milad Rashidi
  • 1,296
  • 4
  • 22
  • 40
loviji
  • 12,620
  • 17
  • 63
  • 94

3 Answers3

30

Try this:

$("#mainTable tr:first").after(row);

http://api.jquery.com/after/

Thiago Belem
  • 7,732
  • 5
  • 43
  • 64
6

InsertAfter is what you are looking for:

var row='<tr><td>val</td><td>val2</td></tr>';
$(row).insertAfter("#mainTable tr:first");
Dexter
  • 18,213
  • 4
  • 44
  • 54
6

You can use prepend JQuery method that inserts as the first child:

$("#mainTable tbody").prepend(row);

Prepend documentation

Anik Islam Abhi
  • 25,137
  • 8
  • 58
  • 80
Diego Cotini
  • 1,039
  • 2
  • 18
  • 25