[英]Hide a parent element if ID contains specific text string with vanilla Javascript
[英]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.