如果此类包含,则隐藏其他类内容

时间:2017-02-28 15:00:29

标签: javascript jquery css if-statement show-hide

<div class="product_discountprice" id="product_discountprice1">
    <font color="red">
        <b style="font-size: 20px; font-weight: bold;">VIP Price:
            <p class="listpriceonGrid">List Price</p>
        </b>
    </font>
    <font class="pricecolor colors_productprice">$63.00</font>
</div>

他们在网站上有这个代码。您可以在这里查看实际网站 - &gt; https://www.colonialacres.com/category-s/928.htm 您会看到某些商品有VIP价格和定价,有些商品没有VIP价格。我想做的是隐藏&#34;清单价格&#34;如果该项目有VIP价格,但如果没有VIP价格文本,则应该在此处显示清单价格。任何想法,建议和帮助将不胜感激。

当谈到if-else时,我在javascript esp中并不是很好。我早点试过了:

<script type="text/javascript">
$(window).load(function(){
    if ($('.product_discountprice font b:contains("VIP Price:")')) {
        $('.product_discountprice font b p').css("display","none");
    }
});
</script>

但它不起作用。所以请帮忙。

1 个答案:

答案 0 :(得分:1)

条件if将永远为真,因为对象(jQuery)是JavaScript中的真值。虽然$('.product_discountprice font b p')会选择所有与if条件无关的元素。

相反,组合选择器并将CSS应用于元素。

$('.product_discountprice font b:contains("VIP Price:") p').css("display","none");

&#13;
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="product_discountprice" id="product_discountprice1">
  <font color="red">
    <b style="font-size: 20px; font-weight: bold;">VIP Price:
            <p class="listpriceonGrid">List Price</p>
        </b>
  </font>
  <font class="pricecolor colors_productprice">$63.00</font>
</div>

<script type="text/javascript">
  $(window).load(function() {
    if ($('.product_discountprice font b:contains("VIP Price:")')) {
      $('.product_discountprice font b p').css("display", "none");
    }
  });
</script>
&#13;
&#13;
&#13;