我正在加载具有.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. 来自不同ng-repeat Angular js的总和值
- 3. 如何选择相同类型的不同值的总和?
- 4. 得到两个不同的div与同一类的ID值
- 5. 来自同一类(div)的jQuery post DIV数据
- 6. 同一条目的SQL返回不同字段值的总和
- 7. 连接来自同一字段的多个行的值,汇总
- 8. 来自不同表和数据库的总和和比较列
- 9. Django和Aggregate:不同值的总和?
- 10. 来自不同文件的和列总和
- 11. 订阅和发布来自同一类的相同事件
- 12. 总和R经由不同的列不同的值
- 13. 如何附加来自同一列的不同值?
- 14. SQL查询来自同一列的不同值
- 15. R中不同列值的总和
- 16. xslt1.0中不同值的总和
- 17. Tableau中不同值的总和
- 18. 用不同的总和值返回行
- 19. 来自不同元组的元素总和
- 20. sql查询总和相同的id,但不同的值?
- 21. 添加来自两个不同的活动两个值,并在一个不同的活动显示所述总
- 22. 来自不同类别的查询
- 23. 来自不同类的方法两次
- 24. 来自不同类的Android getResources
- 25. 来自不同类别的NUnit DataSource
- 26. 来自while循环的不同值
- 27. 来自不同URL的不同登录
- 28. MYSQL - 不同行的总和
- 29. 为什么EditText的Double.parseDouble总和返回一个不同的值?
- 30. 来自不同变量或来自不同文件的高图数据值
你能向我们展示DOM吗? – JohnJohnGa