table td 横向求和

之前介绍了 纵向求和 有点依赖 class 后来自己改了一下 也不需要依赖自己class 但是懒的去改博客,所以今天又弄了一个横向求和(工作需要,网上看别人的我觉得方法也不是很适用我,所以还是自己写一个) , 话不多说,直接贴代码

#js 部分的代码

/**
     * table tr td 横向求和
     * @author Lengff
     */
    function countTd() {
        /*这里的 4 表示 求前三行的和, 第四行是结果区域*/
        var countNum = 4;
        //获取所有的tr
        var allTr = $("table").find("tr");
        //我这里的规则是前面三个加得到第四个 依次递推
        for (var i = 0; i < allTr.length; i++) {
            var trTds = $(allTr[i]).find('td'), count = 0;
            /*重点来了 遍历所有的td 让其第四个等于前面三个相加*/
            for (var j = 0; j < trTds.length; j++) {
                var td = $(trTds[j]);
                /*判断 是不是前三个个数*/
                for (var k = 0; k < countNum - 1; k++) {
                    if (j % countNum == k) {
                        count += parseInt(td.text());
                    }
                }
                /*这里为什么要j+1呢? 因为j是从0 开始的*/
                if ((j + 1) % countNum == 0) {
                    td.text(count);
                    count = 0;
                }
            }
        }
    }

#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="countTd()">
<div class="layui-row">
    <table width="900px" border="1px">
        <tr>
            <th>姓名</th><th>数学</th><th>语文</th><th>英语</th><th>求和</th><th>历史</th><th>政治</th><th>思想</th><th>求和</th>
        </tr>
        <tr>
            <th>IOS</th><td>1</td><td>2</td><td>4</td><td></td><td>2</td><td>3</td><td>5</td><td></td>
        </tr>
        <tr>
            <th>Android</th><td>1</td><td>2</td><td>7</td><td></td><td>2</td><td>3</td><td>8</td><td></td>
        </tr>
        <tr>
            <th>Windows</th><td>1</td><td>2</td><td>9</td><td></td><td>2</td><td>3</td><td>12</td><td></td>
        </tr>
    </table>
</div>
</body>
<script>

    /**
     * table tr td 横向求和
     * @author Lengff
     */
    function countTd() {
        /*这里的 4 表示 求前三行的和, 第四行是结果区域*/
        var countNum = 4;
        //获取所有的tr
        var allTr = $("table").find("tr");
        //我这里的规则是前面三个加得到第四个 依次递推
        for (var i = 0; i < allTr.length; i++) {
            var trTds = $(allTr[i]).find('td'), count = 0;
            /*重点来了 遍历所有的td 让其第四个等于前面三个相加*/
            for (var j = 0; j < trTds.length; j++) {
                var td = $(trTds[j]);
                /*判断 是不是前三个个数*/
                for (var k = 0; k < countNum - 1; k++) {
                    if (j % countNum == k) {
                        count += parseInt(td.text());
                    }
                }
                /*这里为什么要j+1呢? 因为j是从0 开始的*/
                if ((j + 1) % countNum == 0) {
                    td.text(count);
                    count = 0;
                }
            }
        }
    }
</script>
</html>

#效果图

#尾巴 

table 的两种求和方式 都写了一遍 ,发现相对还是比较简单的,更多的还是自己总结和归纳一些知识

猜你喜欢

转载自blog.csdn.net/qq_31878883/article/details/83858427