【问题标题】:Add number from divs with jQuery使用 jQuery 从 div 中添加数字
【发布时间】:2014-10-11 18:45:19
【问题描述】:

我有这些 div。

<div class="prices">11.99</div>
<div class="prices">1.99</div>
<div id="price">99</div>

如何将 div 中的所有数字相加?

最终结果必须是11.99+1.99+99=112.98

谢谢。

【问题讨论】:

  • 添加是什么意思?在哪里?
  • 我不知道如何开始。我知道一定有某种循环,但不知道该怎么做。为什么所有这些仇恨?天啊

标签: jquery html add


【解决方案1】:

你可以这样做。

var controls = $("div");
var sum = 0;
for (var i = 0; i < controls.length; i++) {
  var ct = parseFloat($(controls[i]).text());
  sum += ct;
}
alert(sum);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="prices">11.99</div>
<div class="prices">1.99</div>
<div id="price">99</div>

【讨论】:

  • @semprom ,酷,你也可以使用$("div").each 让它工作!
  • 再次感谢您。你帮了我很多。
  • 加上最后我们可以使用 sum.toFixed(2) 使数字 120.98 (不是 120.97999999999999 )。
  • 是的,但是当我在浏览器中运行它时,它直接给了我120.98
  • 它给了我更大的结果。奇怪的。没关系。我只是想知道是否有人使用 toFixed 获得了更长的结果。
【解决方案2】:

一种可能的解决方案是:

var sum = 0;
$("div").filter(function () {
    if ($(this).attr("class") == "prices" || $(this).attr("id") == "price") {
        return sum += parseFloat($(this).text());
    }
});
console.log(sum);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="prices">11.99</div>
<div class="prices">1.99</div>
<div id="price">99</div>

【讨论】:

    【解决方案3】:

    如果您只想将 div 中的值与价格类别或价格 ID 相加。你可以这样做:

    var p = 0;
    $('.prices').each(function() {p += parseFloat($(this).text());})
    $('#price').each(function() {p += parseFloat($(this).text());})    
    $('#result').text(p);
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <div class="prices">11.99</div>
    <div class="prices">1.99</div>
    <div id="price">99</div>
    Result: <div id="result"></div>

    【讨论】:

      【解决方案4】:

      以下代码有效...

      jQuery 代码

      var price = 0;
      $('div.prices, div#price').each(function(){ 
          price = price + parseFloat($(this).html());                 
      });
      alert(price)
      

      http://jsfiddle.net/6uLs92r7/

      【讨论】:

        猜你喜欢
        • 2015-10-20
        • 2013-06-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-11-02
        • 1970-01-01
        • 2011-07-20
        • 1970-01-01
        相关资源
        最近更新 更多