如果值为0.00,如何使用jquery或javascript隐藏div?

时间:2014-10-30 14:10:59

标签: javascript jquery hide

你好我想隐藏一个span和一个div,如果值是0.00 ..我的代码是

<span class="price-old"><%=getCurrentAttribute('item','custitem_sumisho_listprice')%    </span>
<span class="price-new"><%=getCurrentAttribute('item','custitem_sumisho_onlineprice')%> </span>
<div class="save-sale" style="font-size: .8em; padding-top: 4em"><%=getCurrentAttribute('item','custitem_sumisho_totalsave')%>

在上面的代码中,如果class =“save-sale”的div将有0.00值,那么我想隐藏class =“price-old”和class =“save-sale”。这里getattribute标签会得到商品价格的价值。

我已经尝试过以下jquery但它不能正常工作

<script type="text/javascript" src="/site/js/jquery-1.10.2.min.js"></script>
<script>
$(function () {
if ($(".save-sale").text() == "0.00") {

 $(".save-sale").hide();
}
});
</script>

5 个答案:

答案 0 :(得分:1)

如果你想隐藏class =“price-old”和class =“save-sale”,你需要在你的函数中包含两者。正如你的问题所写,你只包括.save-sale

$(function () {
  if ($(".save-sale").text() == "0.00") {

    $(".save-sale").hide();
    $(".price-old").hide();
  }
});

jsfiddle

答案 1 :(得分:0)

在脚本标签中的上述代码下,在读取功能的文档中或在加载功能中添加此脚本。

var old = document.getElementsByClassName("price-old")[0];
var div = document.getElementsByClassName("save-sale")[0];
if (div.innerHTML.trim() == "0.00") { //.trim() will remove extra whitespace
  div.remove();
  old.remove();
}

答案 2 :(得分:0)

所有其他答案忽略的是0的数值可能不会在您的输入中呈现为"0.00"。如果您正在检查数值,则应首先将其转换为数值。使用浮点值时还要注意舍入错误和边缘情况,并且永远不要尝试进行精确比较。这里一个安全的方法是:

var saveValue = Math.abs(parseFloat($(".save-sale").text()));
if (saveValue<=0.001) { ... }

然而,是否真的有必要在Javascript,客户端进行此检查? .save-sale的价值是否会改变客户端?如果没有,请在Razor中执行您的逻辑,并根据服务器端逻辑显示/隐藏其他元素。

答案 3 :(得分:0)

首先,修复HTML错误。您在第一个>之前错过了关闭</span>,因此getCurrentAttribute方法将失败:

<span class="price-old">
  <%=getCurrentAttribute('item','custitem_sumisho_listprice')%
</span>

你在这里错过了</div>

<div class="save-sale" style="font-size: .8em; padding-top: 4em">
  <%=getCurrentAttribute('item','custitem_sumisho_totalsave')%>

然后通过为hide添加额外.price-old来更新您的JavaScript:

$(function () {
  if ($(".save-sale").text() == "0.00") {
    $(".save-sale").hide();
    $(".price-old").hide();
  }
});

答案 4 :(得分:-1)

取决于您如何使用数字而不是字符串来获取值

正如您在此处所见,只需关闭HTML源代码中缺少的div即可正常工作

http://jsfiddle.net/osk6ed2m/1/