我正在加载具有.totalprice
类的动态div。最后,我想总结所有.totalprice
的值。来自同一类的不同div的值的总和
回答
对于<div>
元素:
var sum = 0;
$('.totalprice').each(function(){
sum += parseFloat($(this).text()); // Or this.innerHTML, this.innerText
});
你可以看到一个working example of this here
对于<input>
元素(输入,复选框等):
var sum = 0;
$('.totalprice').each(function(){
sum += parseFloat(this.value);
});
可选地,如果你正在寻找一个int埃格尔,你可以使用parseInt()
函数。您可以see a working example of this here。
'this.value',速度快,'var'功能。 – lonesomeday
@lonesomeday - 最初的var是一个错字,根据您的请求添加this.value。 –
如果它的'div',那么你需要使用'this.innerText'或'this.innerHTML' :) – Mrchief
要建立什么Rionmonster的那样,这个工作对我来说:
HTML:
<div class="totalprice">6.7</div>
<div class="totalprice">8.9</div>
<div class="totalprice">4.5</div>
的JavaScript:
var sum = 0;
$('.totalprice').each(function()
{
sum += parseFloat($(this).text());
});
alert(sum);
输出:
21.1
我发现,在获得VA从<div>
中你必须使用.text()
选择器。这里是小提琴看到它的工作: http://jsfiddle.net/davecoulter/7D7nR/
除非你完全肯定你的内容的价值,你将无法使用parseFloat
开箱即用。
你需要确保处理:
- 过多的空白
- 领先$
- 空白
- 意外的字符串
请看:
<div class="totalprice"> $1.25 </div>
<div class="totalprice">0.25 </div>
<div class="totalprice">$3.00 </div>
<div class="totalprice"> 2.50</div>
<div class="totalprice">$0.01</div>
<div class="totalprice"> </div>
下面将处理所有情况:
var sum = 0;
$(".totalprice").each(function() {
var val = $.trim($(this).text());
if (val) {
val = parseFloat(val.replace(/^\$/, ""));
sum += !isNaN(val) ? val : 0;
}
});
console.log(sum);
如果你这样做很多时候在你的代码,建议把它放在一个漂亮的可重复使用的功能
function removeComma(x)
{
if (x)
{
if (x.length > 0)
{
return x.replace(/,/g,'');
}
}
}
function sum_class(list,source)
{
// source can be text for non input DOM elements or value for text inputs
var total = 0;
$(list).each(function() {
if (source == 'text')
{
total += parseFloat(removeComma($(this).text()));
}
else
{
total += parseFloat(removeComma($(this).val()));
}
});
return total;
}
请记住,这两个函数都使用我已经命名的变量来说明我的意思,您可以将它们重命名为您理解的更适合您的东西,例如函数sum_class的名称,不是指OOP类,而是Ť他是函数的目的是返回来自属于同一类的元素的值的总和。
- 1. 来自不同列的总和值
- 2. 总和来自同一列不同的值
- 3. 来自一个表的不同值计数的总和
- 4. 来自td元素(来自不同类元素)的值的总和
- 5. 如何汇总来自同名的值?
- 6. 来自不同表格的MYSQL值总和
- 7. 来自不同ng-repeat Angular js的总和值
- 8. 如何选择相同类型的不同值的总和?
- 9. 来自不同类的JButton
- 10. 未能从同一类的2个div获得不同的值
- 11. 得到两个不同的div与同一类的ID值
- 12. 来自同一类(div)的jQuery post DIV数据
- 13. 总和同一列不同的方式
- 14. 同一条目的SQL返回不同字段值的总和
- 15. 来自不同表格的总价格
- 16. 来自不同行的总百分比
- 17. 来自同一个div
- 18. 来自同一类
- 19. 连接来自同一字段的多个行的值,汇总
- 20. 来自选定的div的汇总值
- 21. 来自同一函数的多个不同的返回类型
- 22. Postgres中的同一月的总和值
- 23. 来自不同表和数据库的总和和比较列
- 24. Django和Aggregate:不同值的总和?
- 25. 分组的不同值的总和
- 26. 在MySQL中的不同值的总和
- 27. 来自不同文件的和列总和
- 28. 订阅和发布来自同一类的相同事件
- 29. 包含来自Access中不同查询的总和的报告
- 30. 总和R经由不同的列不同的值
你能向我们展示DOM吗? – JohnJohnGa