繁体   English   中英

隐藏元素(如果包含特定文本)

[英]Hide element if it contains specific text

我的电子商务网站上有以下代码。

我想搜寻 检查它是否包含“ 0.00”

如果它确实包含“ 0.00”,我想隐藏包含价格的父div

这是因为我们希望产品在网上显示,但是即使无法购买,价格仍会显示出来,因此我们不希望人们看到价格为0.00英镑时感到困惑。

<div class="ct_pd_item_price ct_pd_item_value">
<span itemprop="price">
<span class="ct_currencyCode">GBP</span>
<span class="ct_currencySymbol">£</span>0.00</span>    
</div>

是否可以使用某种形式的javascript?

如果您无法更改HTML,则这会有些乏味,因为必须从currencyCode和currencySymbol中清除文本。 一种方法是克隆div,然后输入文本:

$(".ct_pd_item_price.ct_pd_item_value").filter(function(){
   return $(this).clone().find('.ct_currencyCode, .ct_currencySymbol').remove().end().text().trim()=="0.00"
}).hide()

示范

当然,更干净的HTML(可能带有data属性中的值)将更易于处理。

正则表达式的另一种方式

$('[itemprop="price"]').each(
    function() {
        var elem = $(this);
        if (elem.text().match(/[^\d]0\.00/)) {
            elem.closest(".ct_pd_item_price.ct_pd_item_value").hide();
        }
    }
);

取出文字,它将是£0.00因此价格不[anynumber]0.00

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM