如果孩子有特定的文字,我想删除父div:
<div>
<span>test</span>
</div>
<div>
<span>text</span>
</div>
在上面的代码中,我想删除包含 test 的div。我尝试了很多 有过滤功能的东西,但思考完全错误的概念。那么删除它的最佳方法是什么?
那么,如何检测文本是否经过测试?
答案 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();