jQuery如果价格值小于#2,则隐藏div

问题描述 投票:-1回答:1

我有这个价格较低的div和另一个价格较高的div(打折)

<span class="ty-price" id="line_discounted_price_28797">
<bdi><span class="ty-price-num">£</span><span id="sec_discounted_price_28797" class="ty-price-num">0.99</span></bdi></span>

因此,当折扣div获得高于div的价格时,它应该需要隐藏

<div class="ut-qty-discount">
<div class="ut-qty-discount-price"><bdi>£<span>1.79</span></bdi></div>
</div>

如果#1价格值小于#2,那么我需要隐藏#2

jquery
1个回答
1
投票

使用parseFloat()对字符使用数学运算。

要获得第一个数字,请使用^=上的id(starts-with)选择器。下面的意思是找到ID以...开头的元素 - 并获取该元素内的文本:

let prx = $('[id^=sec_discounted_price]').text();

对于第二个数字,您需要通过类找到第一个跨度,然后遍历到第二个跨度:

let dsc = $('.ut-qty-discount-price>bdi>span').text();

这是工作演示:

$('button').click(function(){
  let prx = $('[id^=sec_discounted_price]').text();
  let dsc = $('.ut-qty-discount-price>bdi>span').text();
  if (parseFloat(prx) < parseFloat(dsc) ){
    $('.ut-qty-discount-price').hide();
  }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<span class="ty-price" id="line_discounted_price_28797">
<bdi><span class="ty-price-num">£</span><span id="sec_discounted_price_28797" class="ty-price-num">0.99</span></bdi></span>

<div class="ut-qty-discount">
  <div class="ut-qty-discount-price"><bdi>£<span>1.79</span></bdi></div>
</div>

<button>Calculate</button>
© www.soinside.com 2019 - 2024. All rights reserved.