2014-10-31 2 views
0

Здравствуйте я хотел бы скрыть пролетом и DIV, если значение 0.00..here мой кодКак скрыть div с помощью jquery или java-скрипта?

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

но это работает http://jsfiddle.net/u98b4fzm/2/ –

ответ

2

Как вы имеете множественные save-sale DIV, вы можете использовать .each() для перебора всех их и проверить его значение для создания save-sale и price-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(). –

+0

Я просто предложил другой способ добиться того же, но проблема может быть в jquery, в противном случае код выглядит хорошо. –

+0

его не работает ... будет ли это решение работать на десятичное значение? – user2787474

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> 

для нескольких дивов с таким же именем класса вы можете попробовать следующее:

$(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

у меня есть несколько дивы с таким же именем класса как применить этот код к divs один за другим, чтобы проверить значения и скрыть классы – user2787474

0

Вы можете использовать

$ ("класс или #ID"). Шкурку()

или что-то подобное, но с отработанным CSS стилем

$ (". Class или #id"). Css ('display', 'none')

, но если вы хотите установить это все элементы с использованием класса, очевидно, каждая функция:

$ ("класс.") Каждая (функция() { $ (это) .css (. 'display', 'none') });

Смежные вопросы