这是使用jQuery删除除第一行之外的所有代码的代码:
$("#tblCustomers").find("tr:not(:first)").remove();
如何删除前两行以外的所有行?
答案 0 :(得分:14)
您可以使用:gt()
查找索引大于指定行的行。试试这个:
$("#tblCustomers tr:gt(1)").remove();

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table id="tblCustomers">
<tr><td>0</td></tr>
<tr><td>1</td></tr>
<tr><td>2</td></tr>
<tr><td>3</td></tr>
</table>
&#13;
请注意,索引从零开始,因此索引1是第二行。
或者你可以slice()
选择器中的元素:
$("#tblCustomers tr").slice(2).remove();
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table id="tblCustomers">
<tr><td>0</td></tr>
<tr><td>1</td></tr>
<tr><td>2</td></tr>
<tr><td>3</td></tr>
</table>
&#13;
答案 1 :(得分:4)
您可以使用两个选择器:not
和:nth-child
,如:
$('#tblCustomers tr:not(:nth-child(-n+2))').remove();
希望这有帮助。
$('#tblCustomers tr:not(:nth-child(-n+2))').remove();
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table id="tblCustomers">
<tr><td>0</td></tr>
<tr><td>1</td></tr>
<tr><td>2</td></tr>
<tr><td>3</td></tr>
</table>
&#13;
答案 2 :(得分:2)
$("#tblCustomers tr:gt(1)").remove();
答案 3 :(得分:2)
$("#tblCustomers tr").filter(function(index){
return index >= 2;
}).remove();
过滤器的第一个参数是索引位置。对于要删除的行,返回true
答案 4 :(得分:1)
使用过滤方法
$("#tblCustomers tr").filter(function(){
return $(this).index() > 2;
}).remove();
答案 5 :(得分:0)
我可以提出一个简单的javascript sollution吗?迭代行后缀并在计数器大于2时将其删除。
var table = document.getElementById("myTable");
for (var i = table.rows.length; i>0 ; i--) { //iterate through rows
if(i>2) {
row = table.rows[i-1];
row.parentNode.removeChild(row);
}
}
&#13;
<table id="myTable">
<tr>
<td>1</td>
<td>Maria Anders</td>
<td>Germany</td>
</tr>
<tr>
<td>2</td>
<td>Francisco Chang</td>
<td>Mexico</td>
</tr>
<tr>
<td>3</td>
<td>Roland Mendel</td>
<td>Austria</td>
</tr>
<tr>
<td>4</td>
<td>Helen Bennett</td>
<td>UK</td>
</tr>
</table>
&#13;