Javascript 表行中data-*属性的Sum函数

Javascript 表行中data-*属性的Sum函数,javascript,jquery,html-table,Javascript,Jquery,Html Table,我必须从表中数据值属性的内容中获取一个和。 它是使用javascript中的onclick函数通过.append(每次单击追加一行并将数据值传递给该行和该行中的文本)逐行动态创建的表 表格以以下方式开始: <table id="franco"> <tr><th id="valore"> Total value </th></tr> </table> 您可以使用属性data valore查询所有元素,将它们映射为数字,然后

我必须从表中数据值属性的内容中获取一个和。 它是使用javascript中的onclick函数通过.append(每次单击追加一行并将数据值传递给该行和该行中的文本)逐行动态创建的表

表格以以下方式开始:

<table id="franco">
<tr><th id="valore"> Total value </th></tr>
</table> 

您可以使用属性
data valore
查询所有元素,将它们映射为数字,然后将它们相加

var-total=[].slice
.call(document.queryselectoral(“#franco[data valore]”)
.map(el=>Number(el.getAttribute('data-valore'))
.减少((a,b)=>{
返回a+b;
});
文件
.getElementById('valore')
.INSERTADJACENTHML(“之前”,总计)

总价值:
弗兰克·扎帕
莫扎特
罗杰·沃特斯
祖
玛莎拉蒂

您可以使用jQuery执行此操作,请选中此项

$(文档).ready(函数(){
var总和=0;
$(“#franco.pick”)。每个(函数(){
var值=$(此).data(“valore”);
总和=总和+价值;
$(“#franco#sum”)。文本(sum);
});
});

总价值
弗兰克·扎帕
莫扎特
罗杰·沃特斯
祖
玛莎拉蒂

这是我喜欢的方式

$(document).ready(function(){ 
$('#scelta').on('click', function () {
var sum = 0;
$(".pick").each(function(){
sum += parseInt($(this).data("valore"));
});
$('#sum').text(sum);
});
});

请阅读。关键短语:“搜索、研究”和“解释……任何阻碍你自己解决的困难”。谢谢,非常方便的解决方案!我不明白为什么我的结果是南@FlaivoLuminolZanardi,你能在你的问题中创建一个代码片段,还是一个JSFIDLE?我刚刚把你的代码复制到了,可能是因为data valore属性也在页面的其他部分?(它创建的表行通过jsjquery函数逐个单击,并获取各种“数据”来设置该行的属性)。我是个书呆子,我懂英语,这不是我的母语@FlaivoLuminolZanardi:Hm,这很奇怪,我已经更新了答案中的选择器,以便在查询中使用表的id:
#franco[data valore]
,我想知道如果表已经存在于页面中,这是否会有帮助。我尝试添加了一些具有值的行,函数结果正确,但在我的情况下不是这样的:(这是可行的,但仅在静态表上,我的表是逐行动态创建的!
$(document).ready(function(){ 
$('#scelta').on('click', function () {
var sum = 0;
$(".pick").each(function(){
sum += parseInt($(this).data("valore"));
});
$('#sum').text(sum);
});
});
$(document).ready(function(){ 
$('#scelta').on('click', function () {
var sum = 0;
$(".pick").each(function(){
sum += parseInt($(this).data("valore"));
});
$('#sum').text(sum);
});
});