我有一个基本上看起来像这样的div:
<div class="wrapper">
<img src="#" />
<a href="#" class="link"> SomeText </a>
<a href="#" class="provider"> SomeText </a>
<div class="description">Text Text Text</div>
</div>
正如您所见,.provider
中的文字与.link
中的文字相同
我的问题是:如果有这样的文本副本,我如何删除整个div(.wrapper)?请注意文本未设置,可能是任何内容,因此它是一个var:
var text = $('.provider').text();
$('.wrapper a:contains(text)').remove();
这是我多次尝试之一,没有运气。
答案 0 :(得分:5)
这应该做的工作:
$('div.wrapper').each(function() {
if($('.link', this).text() == $('.provider', this).text())
$(this).remove();
});
答案 1 :(得分:1)
var text = $('.provider').text();
$('.wrapper a:contains('+text+')').parent().remove();
可能就是这个。
答案 2 :(得分:1)
$('.wrapper').filter(function(){
var a = $('a.link', this).text(), b = $('a.provider', this).text();
return $.trim(a) === $.trim(b)
}).remove()