I have these divs.
<div class="prices">11.99</div>
<div class="prices">1.99</div>
<div id="price">99</div>
How can I add all the numbers from the divs?
The final result must be 11.99+1.99+99=112.98
Thank you.
I have these divs.
<div class="prices">11.99</div>
<div class="prices">1.99</div>
<div id="price">99</div>
How can I add all the numbers from the divs?
The final result must be 11.99+1.99+99=112.98
Thank you.
You can do it like this.
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>
If you just want to sum the values from divs with the class of prices or the id of price. You could do something like this:
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>
One possible solution is this:
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>
Below code works...
jQuery Code
var price = 0;
$('div.prices, div#price').each(function(){
price = price + parseFloat($(this).html());
});
alert(price)