删除文本,如果重复

时间:2012-12-29 12:51:40

标签: javascript jquery

我有一个基本上看起来像这样的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();

这是我多次尝试之一,没有运气。

3 个答案:

答案 0 :(得分:5)

这应该做的工作:

$('div.wrapper').each(function() {
    if($('.link', this).text() == $('.provider', this).text())
        $(this).remove();
});​

(例如:http://jsfiddle.net/8b655/

答案 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()