我有一个包含很多行的表。从中我想删除除行之外的所有行,其中第一个td具有给定的id。
我在一半
<tr>
<td id="1" class="td_link" onclick="viewPointDetails(1)">Barrackpur</td>
<td class="td_link" id="11" class="edit_client" onclick="editPoint(1)">India</td>
</tr>
<tr>
<td id="2" class="td_link" onclick="viewPointDetails(2)">Madiwala</td>
<td class="td_link" id="11" class="edit_client" onclick="editPoint(1)">India</td>
</tr>
和我的jquery;
$('tr').each(function () {
if first td does not have given id say 1 then delete this row.
});
我的第一行是标题。所以我不希望这个被检查(不要删除这一行)。
答案 0 :(得分:4)
您应该能够在没有each
循环的情况下实现此目的:
$("tr:not(:has(#1))").remove();
这使用:has
选择器返回包含与选择器匹配的元素的行。它使用:not
选择器来获得相反的结果(所以你最终得到 not 包含与选择器匹配的元素的所有行),然后使用remove
来删除匹配集中的所有元素。
答案 1 :(得分:0)
试试这个
$(document).ready(function () {
$('tr').each(function () {
if($(this).find("td:first").attr("id") == 2)
{
$(this).remove();
}
});
});