我的电子商务网站上有以下代码。
我想搜索 以检查它是否包含“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?
答案 0 :(得分:5)
如果您无法更改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(可能具有数据属性中的值)会更容易处理。
答案 1 :(得分:0)
使用正则表达式的另一种方法
$('[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