[英]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.