Marc Marc - 5 months ago 13
Javascript Question

How to remove all rows of the table but keep the header

I want to remove all rows of my table except the header.

This is what I've tried but it always deletes all rows and header:

$("#<%=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();


Here's the 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>

Answer

Try using this:

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