table td 纵向求和

每次接触table时 少不了的就是要求和,很恶心而且很麻烦 今天自己写了一个td 纵向求和的方法(比较简单和简陋) 但是以此为基础能延伸出其他的操作

二话不多说

#先看js部门的代码

/**
     * 多行求和统计
     * @author Lengff
     * @time 2018-11-7 10:17:03
     */
    function countTdSum() {
        var tableTr = $("table").find(".tr1");//这里是获取有多少个tr的
        var tds = $(".tr1").find("td");//这里是获取有多少个td的
        var sum = [];
        /*这个for是为了给sum初始化赋值为0*/
        for (var i = 0; i < tds.length; i++) {
            sum[i] = 0;
        }
        /*这个for 是统计所以td 的和值*/
        for (var i = 0; i < tableTr.length; i++) {
            var tr = $(tableTr[i]).find("td");
            for (var j = 0; j < tr.length; j++) {
                sum[j] += parseInt($(tr[j]).text());
            }
        }
        /*这个for 是将统计的结果赋值到对应的单元中去*/
        for (var i = 0; i < sum.length; i++) {
            $($(".tr2").find('td')[i]).text(sum[i]);
        }
    }

实现原理也比较简单,就是把需要统计的所有tr 标记一下,然后统计结果的tr 标记一下 将统计出来的结果再赋值到结果的tr中去

 

#HTML 部分的代码

<html>
<head>
    <title>table td 纵向求和</title>
    <meta charset="utf-8">
    <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
</head>
<body onload="countTdSum()">
<div class="layui-row">
    <table>
        <tr class="tr1">
            <td>1</td><td>2</td><td>3</td><td>4</td><td>5</td>
        </tr>
        <tr class="tr1">
            <td>1</td><td>2</td><td>3</td><td>4</td><td>5</td>
        </tr>
        <tr class="tr2">
            <td></td><td></td><td></td><td></td><td></td>
        </tr>
    </table>
</div>
</body>
<script>
    /**
     * 多行求和统计
     * @author Lengff
     * @time 2018-11-7 10:17:03
     */
    function countTdSum() {
        var tableTr = $("table").find(".tr1");//这里是获取有多少个tr的
        var tds = $(".tr1").find("td");//这里是获取有多少个td的
        var sum = [];
        /*这个for是为了给sum初始化赋值为0*/
        for (var i = 0; i < tds.length; i++) {
            sum[i] = 0;
        }
        /*这个for 是统计所以td 的和值*/
        for (var i = 0; i < tableTr.length; i++) {
            var tr = $(tableTr[i]).find("td");
            for (var j = 0; j < tr.length; j++) {
                sum[j] += parseInt($(tr[j]).text());
            }
        }
        /*这个for 是将统计的结果赋值到对应的单元中去*/
        for (var i = 0; i < sum.length; i++) {
            $($(".tr2").find('td')[i]).text(sum[i]);
        }
    }
</script>
</html>

 这个是基于Jquery的,所以一定要引入Jquery 的js文件

#最终实现效果点我查看

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值