将行动态添加到没有行的html表中

时间:2009-12-23 13:31:37

标签: jquery html html-table

我使用它来动态地向表中添加一行:

   $('#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或者&gt;这里添加一行可以正常工作的正确选择器是什么?现有0行?

2 个答案:

答案 0 :(得分: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");
}

答案 1 :(得分:1)

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

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