首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >包含多个HTML表的Jquery Math

包含多个HTML表的Jquery Math
EN

Stack Overflow用户
提问于 2016-09-10 15:25:29
回答 1查看 38关注 0票数 0

所以我有12张表,一年中的每个月一张。每个表格行都有一个显示值的单元格。我想计算每个表的这些行/单元格的总和。现在我使用的脚本与预览答案中的脚本类似,但是重复12次是行不通的,而且需要大量的代码。有没有更快的方法可以做到这一点?

代码语言:javascript
复制
<script type='text/javascript'>
//<![CDATA[

$(window).load(function(){
var valueCells = document.querySelectorAll('.rowDataSdAugust');
var sum = 0;

Array.prototype.forEach.call(
    valueCells,
    function(valueCell) {
      sum += parseFloat(valueCell.innerText);
    }
);
var roughsum = sum /valueCells.length;
var finalsum = roughsum.toFixed(2);
document.querySelectorAll('.totalColAugust')[0].innerHTML = "<h1 style='color:green;'>"+ finalsum + "% GAIN</h1>";
});

//]]> 
</script>

<script type='text/javascript'>
//<![CDATA[

$(window).load(function(){
var valueCells = document.querySelectorAll('.rowDataSdJuly');
var sum = 0;

Array.prototype.forEach.call(
    valueCells,
    function(valueCell) {
      sum += parseFloat(valueCell.innerText);
    }
);
var roughsum = sum /valueCells.length;
var finalsum = roughsum.toFixed(2);
document.querySelectorAll('.totalColJuly')[0].innerHTML = "<h1 style='color:green;'>"+ finalsum + "% GAIN</h1>";
});

//]]> 
</script>

EN

回答 1

Stack Overflow用户

发布于 2016-09-10 20:19:03

创建两个数组-一个用于表名称,另一个用于总列名。然后通过循环执行相同的函数次数。

代码语言:javascript
复制
    <script type='text/javascript'>
//<![CDATA[

    $(window).load(function(){

        var tableArray = new Array("rowDataSdJanuary","rowDataSdFebruary","rowDataSdMarch","rowDataSdApril","rowDataSdMay","rowDataSdJune","rowDataSdJuly","rowDataSdAugust","rowDataSdSeptember","rowDataSdOctober","rowDataSdNovember","rowDataSdDecember");
        var totalColArray = new Array("totalColJanuary","totalColFebruary","totalColMarch","totalColApril","totalColMay","totalColJune","totalColJuly","totalColAugust","totalColSeptember","totalColOctober","totalColNovember","totalColDecember");

        for(i=0; i<tableArray.length; i++) {     

            var valueCells = document.querySelectorAll('.'+tableArray[i]);
            var sum = 0;

            Array.prototype.forEach.call(
                valueCells,
                function(valueCell) {
                  sum += parseFloat(valueCell.innerText);
                }
            );
            var roughsum = sum /valueCells.length;
            var finalsum = roughsum.toFixed(2);
            document.querySelectorAll('.'+totalColArray[i])[0].innerHTML = "<h1 style='color:green;'>"+ finalsum + "% GAIN</h1>";            

        }        

    });

//]]> 
</script>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39423699

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档