隐藏DIV,如果它包含特定的文本

Hiding DIV if it contains specific text

本文关键字:文本 包含特 DIV 如果 隐藏      更新时间:2023-09-26

我昨天问了一个类似的问题(隐藏元素,如果它包含特定的文本)

从那以后,我就尝试使用dystroy建议的代码来隐藏另一个页面上的DIV。

这是页面HTML:

<div class="ct_pl_product_price">
<a class="ct_pl_product_link" href="/link/to/item">£0.00</a>
</div>

和以前一样,我想隐藏"ct_pl_product_price" DIV,如果它包含£0.00

这是我尝试使用的脚本:

$(document).ready(function(){
$(".ct_pl_product_price").filter(function(){
   return $(this).clone().find('.ct_pl_product_link').remove().end().text().trim()=="0.00"
}).hide()
});

我认为这是有意义的(如果我正确地解释了dystroys的代码),但它似乎不起作用。

任何想法?

在这种情况下可以使用:contains选择器:

$('.ct_pl_product_price:contains("£0.00")').hide()

您可以使用:contains选择器:

$('.ct_pl_product_price:contains("0.00")').hide();

或者您可以使用filter,修改逻辑:

$(".ct_pl_product_price").filter(function(){
    return $(this).text().indexOf('0.00') != -1;
}).hide()

注意filter()会稍微快一些。