如果另一个div具有某些文本,则隐藏div

时间:2016-07-21 01:30:41

标签: javascript jquery bigcommerce

基本上,这是一个店面网站。我希望能够在客户未登录时将价格显示为“登录成本”。未登录时,所有商品的价格默认为“0.00美元”。

除了将价格更改为“Login For Cost”之外,我还想隐藏包含“添加到购物车”按钮并比较按钮的div。

我跟着我在网上找到的example(在“添加Javascript”下找到),这是我到目前为止所提出的...

<script type="text/javascript">
$(document).ready( function() {
  $('.p-price em:contains("$0.00")').text("Login for Cost");
  $('.p-price:contains("$0.00")').text("Login for Cost");
})
</script>

<script type="text/javascript">
$(document).ready( function() {
  if ($('.p-price').html()=='Login for Cost') {
    $('.ProductActionAdd').hide();
    $('.ProductCompareButton').hide();
    $('.CompareButton').hide();
  } else {   
    $('.ProductActionAdd').show();
    $('.ProductCompareButton').show();
    $('.CompareButton').show();
  }
})
</script>

第一个脚本有效,未登录时价格将更改为“登录成本”,并在登录时显示实际价格。但是,第二个脚本在登录时隐藏3个div并且未登录

任何帮助表示赞赏!提前谢谢!

1 个答案:

答案 0 :(得分:1)

在javascript中使用==是一种不好的做法。而是使用===,如下所示,看它是否有效。并使用.text()代替.html()

<script type="text/javascript"> 
$(document).ready( function() {
if ($('.p-price').text()==='Login for Cost') {
//Your code to hide
} else{
//Your code to show
})
</script>