Динамическое добавление строк в HTML-таблицу без строк - PullRequest
0 голосов
/ 23 декабря 2009

Я использую это для динамического добавления строки в таблицу:

   $('#myTable tr:last').after('<tr><td>1</td><td>a</td></tr>');

но, похоже, не работает, если в таблице нет записей:

<table id="myTable" class="altTable">
    <thead>
        <tr>
            <th>
                Col1
            </th>
            <th>
                Col2
            </th>
        </tr>
    </thead>
    <tbody>
    </tbody>
</table>

Какой будет правильный селектор, чтобы добавить строку, которая работала бы, если бы существовало 0 или> 0 строк?

Ответы [ 2 ]

9 голосов
/ 23 декабря 2009

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

$("<tr><td>1</td><td>a</td></tr>").appendTo("#myTable tbody");

Это должно добавить строку в конец тега тела таблицы независимо от того, есть ли уже строки или нет.

Если тег tbody не будет присутствовать без каких-либо строк, то вы бы сделали это ...

if ($("#myTable tbody").length > 0){
  $("<tr><td>1</td><td>a</td></tr>").appendTo("#myTable tbody");
}
else{
  $("<tbody><tr><td>1</td><td>a</td></tr></tbody>").appendTo("#myTable");
}
1 голос
/ 23 декабря 2009
if( !$('#myTable tbody').length )
{
  $('#myTable').append( $('<tbody>') );
}

$('#myTable tbody').append( '<tr><td>1</td><td>a</td></tr>' );        
...