2014-10-31 73 views
0

你好,我想隐藏的跨度和DIV如果值为0.00..here是我的代码如何使用jQuery或Java脚本隐藏div?

<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')%></div> 

在上面的代码,如果类的DIV =“保存销售”将有0.00值那么我想隐藏class =“price-old”和class =“save-sale”。这里getattribute标签将获得商品价格的价值。

我曾尝试下面的jQuery但如你有多个save-sale DIV它不工作

<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(); 
$(".price-old").hide(); 
} 
}); 
</script> 
+0

但这是工作http://jsfiddle.net/u98b4fzm/2/ – 2014-10-31 05:55:39

回答

2

,您可以使用.each()遍历所有这些,检查它的价值作出save-saleprice-old隐藏。

<script type="text/javascript" src="/site/js/jquery-1.10.2.min.js"></script> 
<script> 
$(function() { 
    $(".save-sale").each(function(){ 
    if ($(this).text().trim() == "0.00") { 
     $(this).hide(); 
     $(this).prev(".prod-price").find(".price-old").hide(); 
    } 
    }); 
}); 
</script> 

DEMO

+0

甚至.text()工作为什么要有html()。 – 2014-10-31 05:56:58

+0

我只是建议另一种方式来实现相同的,但问题可能在jquery包括其他代码看起来不错。 – 2014-10-31 05:58:08

+0

它不工作...这个解决方案将工作的十进制值? – user2787474 2014-10-31 05:58:19

0

DEMO FIDDLE

试试这个:

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

对于具有相同的类名多个div,你可以尝试以下方法:

$(function() { 
$(".save-sale").each(function (i) { 
    if ($.trim($(this).text()) == "0.00") { 
     $(this).closest(".save-sale").hide(); 
     $(this).closest(".price-old").hide(); 
    } 
    else{ 
     $(this).closest(".save-sale").show(); 
     $(this).closest(".price-old").show(); 
    } 
}); 
}); 

UPDATED FIDDLE

+0

我有相同的类名多个div如何在div上逐一应用此代码来检查值和隐藏类 – user2787474 2014-10-31 06:29:19

0

您可以使用

$( “类或#ID”)。隐藏()

或类似,但与使用的CSS样式

东西

$(“。class or #id”)。css('display','none')

但如果你想将其设置为与类使用的所有元素显然每个功能:

$( “类”)。每个(函数(){ $ (本)的.css(。 'display','none') });