jQuery prev,prevUntil或最接近的break标记然后删除

时间:2011-05-05 14:30:23

标签: jquery dom-manipulation

我正在尝试删除以下代码的最后两个break标记实例:

<table class="theprices">
  <tbody>
    <tr>
      <td>
        <a href="">Link</a>
        <font>stupid font tag</font>
        <br>
        <b>Something Bold</b>
        <br>
        <br>
        <a href="">Hidden Link</a>
        <table class="addcart"></table>
        <div>some div</div>
        <div>some other div</div>
      <td>
    </tr>
  </tbody>
</table>

$('.addcart').closest('br:nth-child(1)').remove();
$('.addcart').closest('br:nth-child(2)').remove();        

4 个答案:

答案 0 :(得分:4)

尝试:

$('table.theprices br:last').remove();
$('table.theprices br:last').remove();

这使用:last selector获取最后一个匹配元素并将其删除。

修改
我还更新了类选择器。 Here是一个jsFiddle。

编辑2 如果你给表(甚至表格单元格)一个ID并在选择器中使用它会更有效,但如果HTML很简单,你可能不会注意到任何差异。

答案 1 :(得分:1)

如果<br>始终是表.addcart的兄弟姐妹,这将有效。

$('.addcart').siblings('br').slice(-2).remove();

答案 2 :(得分:0)

尝试:

$(".theprices br").eq($(".theprices br").length - 1).remove();
$(".theprices br").eq($(".theprices br").length - 1).remove();

答案 3 :(得分:0)

试试这个:

$('.addcart').parent().children('br:last').remove();
$('.addcart').parent().children('br:last').remove();