在jsFiddle中工作,但不在网站上?

时间:2017-01-26 16:04:15

标签: jquery html

您好我构建了以下脚本来处理我们在网站上无法控制的现有元素并且它正在返回:

花费另一个£NaN来接受免费标准递送

所以我去写了一个关于stackOverflow的查询来找出原因,并认为我会使用JSfiddle来帮助,但是完全相同的代码放入JSfiddle运行正确并显示:

再花9英镑接受免费标准送货

所以我更加困惑,任何想法可能是什么问题?:

open(my $fh, '>>', $qfn)
$(document).ready(function() {

  var subTotal = ($('.totalSubtotal').text()).replace(/[^0-9.]/g, '')
  var startTotal = 70.00;
  var total = startTotal - subTotal;


  $('#revealPromoBox').append('<div class="promoTotal">Spend another £' + total + ' to recieve free standard delivery</div>');

});

JSFiddle

1 个答案:

答案 0 :(得分:1)

网站上可能有多个totalSubtotal,而且在JSFiddle中只有一个 - 10.0030.00将是NaN,因为.text()将连接它找到的字符串

$(function() {

  var subTotal = 0;
  $('.totalSubtotal').each(function() {
    var val = $(this).text().replace(/[^0-9.]/g, '');
    subTotal += isNaN(val)?0:parseFloat(val);
  });
  var startTotal = 70.00;
  var total = startTotal - subTotal;


  $('#revealPromoBox').append('<div class="promoTotal">Spend another £' + total.toFixed(2) + ' to recieve free standard delivery</div>');

});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div class="totalSubtotal">
  Sub-total:&nbsp;<strong data-oi-price="">£11.00</strong>
</div>
<div class="totalSubtotal">
  Sub-total:&nbsp;<strong data-oi-price="">£21.00</strong>
</div>


<h3 id="revealPromoBox"></h3>