基本上,这是一个店面网站。我希望客户未登录时价格能够显示为“ 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>