Jquery - 如果第一行的td没有给定值的id,则删除所有行

时间:2012-02-23 12:22:50

标签: javascript jquery

我有一个包含很多行的表。从中我想删除除行之外的所有行,其中第一个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.
   });  

我的第一行是标题。所以我不希望这个被检查(不要删除这一行)。

2 个答案:

答案 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();
      }
  });
});