基本上,这是一个店面网站。我希望客户未登录时价格能够显示为“ Login For Cost”。未登录时,所有商品的价格默认为“ $ 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>


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

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

最佳答案

在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>

09-25 13:01
查看更多