2009-12-23 2 views
0

Я использую это, чтобы добавить строку динамически в таблице:Добавление строк динамически HTML-таблицы без каких-либо строк

$('#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 строк?

+0

вы хотите добавить строку в конец TBODY ли? – rahul

+0

есть. , , , , , , – leora

ответ

9

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

$("<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"); 
} 
+0

Это не работает для меня в IE8. В основном, это приводит к этому HTML: "" Идея? Благодарю. – Ariel

+0

@Ariel: Мне нужно будет увидеть ваш код. – Ryan

+0

уверен, я опубликовал эту проблему здесь, http://stackoverflow.com/questions/2329319/javascript-issue-when-dynamically-adding-a-row-from-its-html-to-a-table-in-ie – Ariel

1
if(!$('#myTable tbody').length) 
{ 
    $('#myTable').append($('<tbody>')); 
} 

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

Я думаю, что это не добавит строк во внутреннюю часть вашего или тела. – rahul

+0

это не будет работать согласно adamabtium – leora

+0

ok. моя вина. теперь обновляется, пожалуйста, отмените свой downvote. –

Смежные вопросы