删除动态表但第一行的所有行

时间:2014-01-01 12:28:04

标签: jquery html-table

如何使用jQuery从动态表中删除所有行,如下所示:

HTML CODE:

<table id="myTable" border="1">
    <th style="width:100px;">Barangays</th>
    <th style="width:140px;">Lat</th>
    <th style="width:140px;">long</th>
    <tbody>
        <tr></tr>
    </tbody>
</table>

我有这个代码将<td>附加到表格中:

JS CODE:

 $('tr.' + this.id).html('<td>' + this.title + '</td><td>' + this.getPosition().lat().toFixed(6) + '</td><td>' + this.getPosition().lng().toFixed(6) + '</td>');

现在我需要一个click函数来删除所有添加的行,但保留表中的第一行,就像之前一样。

4 个答案:

答案 0 :(得分:4)

首先,HTML无效,应该是tr元素的子元素。

要删除行,请尝试

$('#myTable tr').slice(1).remove()

将您的HTML更改为

<table id="myTable" border="1">
    <thead>
        <tr>
            <th style="width:100px;">Barangays</th>
            <th style="width:140px;">Lat</th>
            <th style="width:140px;">long</th>
        </tr>
    </thead>
    <tbody>
        <tr></tr>
    </tbody>
</table>

然后

$('#myTable tbody tr').remove()

答案 1 :(得分:3)

使用此

$(document).ready(function() {
       $("#myTable").find("tr:gt(0)").remove();
    });

DEMO

if ($("table tr").length != 1) {
     $("table tr:last").remove();
}

答案 2 :(得分:1)

试试这个

$('#myTable tr').not(':first').remove();

答案 3 :(得分:1)

您也可以使用jquery的eq

var first = $('#myTable tbody tr').eq(0); // Take the first row
$('#myTable tbody tr').remove(); //remove all rows
$('#myTable tbody').html(first); //put first row again

Demo