如果孩子有特定文本,如何删除父项?

时间:2014-03-06 09:36:01

标签: jquery

如果孩子有特定的文字,我想删除父div:

<div>
  <span>test</span>
</div>
<div>
  <span>text</span>
</div>

在上面的代码中,我想删除包含 test 的div。我尝试了很多 有过滤功能的东西,但思考完全错误的概念。那么删除它的最佳方法是什么?

那么,如何检测文本是否经过测试?

3 个答案:

答案 0 :(得分:10)

尝试将has()contains-selector一起使用 - 使用包含,因为你说包含 - 如果你想检查完全匹配,那么你就不能使用它

$('div').has('span:contains(test)').remove()

演示:Fiddle


完全匹配

$('div span').filter(function(){
    return $.trim($(this).text()) == 'test';
}).parent().remove()

演示:Fiddle

答案 1 :(得分:1)

如果您想检查它是否为空,请使用:

$("span:not(:empty)").parent().remove();

如果您想要检查您的范围是否包含text字符串,则可以使用has()以及:contains()选择器更具体:

$('div').has('span:contains(text)').remove()

或:

$('span:contains(test)').closest('div').remove();

答案 2 :(得分:0)

试试这个:

$('span:contains(test)').closest('div').remove();