如何删除表的所有行但保留标题

时间:2012-02-23 19:52:13

标签: jquery asp.net html-table

我想删除除标题之外的所有表格行。

这是我尝试过的,但它总是删除所有行和标题:

$("#<%=tblDetailFourn.ClientID%> tbody tr").remove();

$("#<%=tblDetailFourn.ClientID%> tbody tr").not("thead tr").remove();

$("#<%=tblDetailFourn.ClientID%> tr").not("thead tr").remove();

$("#<%=tblDetailFourn.ClientID%> tbody").not("thead").remove();

$("#<%=tblDetailFourn.ClientID%> tbody").remove();

$("#<%=tblDetailFourn.ClientID%> > tbody").remove();

这是html:

<table id="tblDetailFourn" runat="server" class="ProjetTable ProjetTableHover">
    <thead>
       <tr>
          <th style="width:200px">Rôle de Ressource</th>
          <th style="width:200px">Nom Prénom</th>
          <th style="width:120px">Tel</th>
          <th style="width:200px">Courriel</th>
          <th style="width:80px">Actif</th>
          <th style="width:33px"></th>
          <th style="width:33px"></th>
      </tr>
    </thead>
    <tbody>
    </tbody>
</table>

9 个答案:

答案 0 :(得分:47)

$('#tblDetailFourn tbody').empty();

答案 1 :(得分:11)

尝试使用:

$('#<%=tblDetailFourn.ClientID%> tr').not(function(){ return !!$(this).has('th').length; }).remove();

答案 2 :(得分:10)

尝试http://api.jquery.com/child-selector/

$("#<%=tblDetailFourn.ClientID%> > tbody > tr").remove();

你应该做些什么。

答案 3 :(得分:4)

怎么样:

$('#tblDetailFourn tbody').html('');

jsfiddle

答案 4 :(得分:2)

这应该有效,假设你在tbody中没有任何头元素。

$("#<%=tblDetailFourn.ClientID%> tbody tr").remove();

答案 5 :(得分:2)

你试过这个吗?:

$("#<%=tblDetailFourn.ClientID%> tbody").html('')

答案 6 :(得分:2)

根据您提供的html,解决方案如下

$("#tblDetailFourn tbody").empty();

这将完美无缺。

由于

答案 7 :(得分:0)

$('#tblDetailFourn > tbody > tr > td').parent('tr').empty();

答案 8 :(得分:0)

如果要删除包括标签的所有tbody,请使用

$("#tblDetailFourn tbody").remove();

它将删除tbody以及tbody下的所有tr。