簡體   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