我想通过定位以下文字“将以上项目添加到购物车”,从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" >>></span> <input type=submit value="Add To Cart" onclick="refineResults=false;" name="checkboxes_mode_submitbtn"
答案 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();