使用jQuery从div添加数字

时间:2014-10-11 18:45:20

标签: jquery html add

我有这些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

谢谢。

4 个答案:

答案 0 :(得分:4)

你可以这样做。

&#13;
&#13;
var controls = $("div");
var sum = 0;
for (var i = 0; i < controls.length; i++) {
  var ct = parseFloat($(controls[i]).text());
  sum += ct;
}
alert(sum);
&#13;
<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>
&#13;
&#13;
&#13;

答案 1 :(得分:2)

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

&#13;
&#13;
var p = 0;
$('.prices').each(function() {p += parseFloat($(this).text());})
$('#price').each(function() {p += parseFloat($(this).text());})    
$('#result').text(p);
&#13;
<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>
&#13;
&#13;
&#13;

答案 2 :(得分:2)

一种可能的解决方案是:

&#13;
&#13;
var sum = 0;
$("div").filter(function () {
    if ($(this).attr("class") == "prices" || $(this).attr("id") == "price") {
        return sum += parseFloat($(this).text());
    }
});
console.log(sum);
&#13;
<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>
&#13;
&#13;
&#13;

答案 3 :(得分:1)

以下代码有效......

jQuery代码

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

http://jsfiddle.net/6uLs92r7/