删除包含特定文本的表

时间:2010-07-10 13:42:32

标签: jquery

我想通过定位以下文字“将以上项目添加到购物车”,从Jquery页面中删除下表。

我试过这个但是没有按预期工作它删除了另一个父td。 不确定如何仅针对此td。

$("* :contains('To add the above items to your cart')").closest('td').remove();

<td colspan="11" class="colors_backgroundlight" align="right"> 
<span>To add the above items to your cart, click the "Add" checkboxes then click "Add To Cart" &gt;&gt;&gt;</span> <input type=submit value="Add To Cart" onclick="refineResults=false;" name="checkboxes_mode_submitbtn"

4 个答案:

答案 0 :(得分:7)

你可以这样做:

$("span:contains('To add the above items to your cart')").closest('td').remove();

任何父级包含文本,因为它位于子元素中。你需要更具体一些关于 包含文本的内容并从那里向上移动......否则它也会找到所有父母。

或者,非常准确,但可能有点过分:

$("span:contains('To add the above items to your cart')").filter(function() {
  return this.innerHTML.indexOf('To add the above items to your cart') === 0;
}).closest('td').remove();

答案 1 :(得分:1)

删除表格还是只删除表格单元格?...只删除单元格会破坏表格布局。 试试这个(清除表格单元格)

$("span:contains('To add the above items to your cart')").empty();

上面编辑,尼克是对的,它会打破嵌套的细胞,上面的更新不会。

答案 2 :(得分:1)

为什么不简单地使用:

$("td:contains('To add the above items to your cart')").remove();​

答案 3 :(得分:0)

除了处理确切问题的答案之外,你可以通过在该范围中添加一个类来改变你的html并改为定位...

所以

<td colspan="11" class="colors_backgroundlight" align="right"> 
<span>To add the above items to your cart, click the "Add" checkboxes then click "Add To Cart"...

可能会成为

<td colspan="11" class="colors_backgroundlight" align="right"> 
<span class="removable">To add the above items to your cart, click the "Add" checkboxes then click "Add To Cart"...

然后以

为目标
$(".removable").closest('td').remove();

或者对于更复杂的情况,您可以使用不同的规则来删除节点。

$(".removable:contains('To add the above items to your cart')").closest('td').remove();