js——3表格隔行换色,全选和全不选,onload事件,循环遍历checkbox

0细节知识点--onload事件,遍历表格每一行

1表格隔行换色

2表格全选和全不选


0细节知识点

  • onload事件:

  onload 事件会在页面或图像加载完成后立即发生。

  onload 通常用于 <body> 元素,在页面完全载入后(包括图片、css文件等等。)执行脚本代码

  • 可以直接得到返回表格的每一行,返回的是一个数组

  var tab = document.getElementById("tab");
  //得到表格中每一行
  var rows = tab.rows;

  • 遍历表格的每一行

  //便利所有的行,然后根据奇数 偶数

  for(var i=1; i < rows.length; i++){
     var row = rows[i]; //得到其中的某一行
  if(i%2==0){
  row.bgColor = "yellow";
  }else{
  row.bgColor = "red"
  }


1表格隔行换色

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <!--
            1. 确定事件: 文档加载完成 onload
            2. 事件要触发函数: init()
            3. 函数:操作页面的元素
                    要操作表格中每一行
                    动态的修改行的背景颜色
        -->
        <script >
            function init(){
                //得到表格
                var tab = document.getElementById("tab");
                //得到表格中每一行
                var rows = tab.rows;
                //便利所有的行,然后根据奇数 偶数
                for(var i=1; i < rows.length; i++){
                    var row = rows[i];  //得到其中的某一行
                    if(i%2==0){
                        row.bgColor = "yellow";
                    }else{
                        row.bgColor = "red"
                    }
                }
            }
        </script>
    </head>
    <body onload="init()">
        <table border="1px" width="600px" id="tab">
            <tr >
                <td>
                    <input type="checkbox" />
                </td>
                <td>分类ID</td>
                <td>分类名称</td>
                <td>分类商品</td>
                <td>分类描述</td>
                <td>操作</td>
            </tr>
            <tr>
                <td>
                    <input type="checkbox" />
                </td>
                <td>1</td>
                <td>手机数码</td>
                <td>华为,小米,尼康</td>
                <td>黑马数码产品质量最好</td>
                <td>
                    <a href="#">修改</a>|<a href="#">删除</a>
                </td>
            </tr>
            <tr>
                <td>
                    <input type="checkbox" />
                </td>
                <td>2</td>
                <td>文具</td>
                <td>铅笔,橡皮</td>
                <td>买买买</td>
                <td><a href="#">修改</a>|<a href="#">删除</a></td>
            </tr>
            <tr>
                <td>
                    <input type="checkbox" />
                </td>
                <td>3</td>
                <td>电脑办公</td>
                <td>联想,小米</td>
                <td>笔记本特卖</td>
                <td><a href="#">修改</a>|<a href="#">删除</a></td>
            </tr>
            <tr>
                <td>
                    <input type="checkbox" />
                </td>
                <td>4</td>
                <td>馋嘴零食</td>
                <td>辣条,麻花,黄瓜</td>
                <td>年货</td>
                <td><a href="#">修改</a>|<a href="#">删除</a></td>
            </tr>
            <tr>
                <td>
                    <input type="checkbox" />
                </td>
                <td>5</td>
                <td>床上用品</td>
                <td>床单,被套,四件套</td>
                <td>都是套子</td>
                <td><a href="#">修改</a>|<a href="#">删除</a></td>
            </tr>
        </table>
    </body>
</html>

2表格全选和全不选

(1)细节提取:对多个checkbox进行相同的命名,然后通过相同的名字来进行统一操作的处理   

  <input type="checkbox" name="checkone" />

  var checks = document.getElementsByName("checkone");

  //上句也可替换如下:

  var checks = document.getElementsByTagName("input");

(案例)

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <!--
            1. 确定事件: 文档加载完成 onload
            2. 事件要触发函数: init()
            3. 函数:操作页面的元素
                    要操作表格中每一行
                    动态的修改行的背景颜色
        -->
        <script >
            function init(){
                //得到表格
                var tab = document.getElementById("tab");
                //得到表格中每一行
                var rows = tab.rows;
                //便利所有的行,然后根据奇数 偶数
                for(var i=1; i < rows.length; i++){
                    var row = rows[i];  //得到其中的某一行
                    if(i%2==0){
                        row.bgColor = "yellow";
                    }else{
                        row.bgColor = "red"
                    }
                }
            }
            
            /*
                全选和全不选步骤分析:
                 1.确定事件: onclick 单机事件
                 2.事件触发函数: checkAll()
                 3.函数要去做一些事情:
                     获得当前第一个checkbox的状态
                     获得所有分类项的checkbox
                     修改每一个checkbox的状态
            */
            
            function checkAll(){
//                获得当前第一个checkbox的状态
                var check1 = document.getElementById("check1");
                //得到当前checked状态
                var checked = check1.checked;
//                     获得所有分类项的checkbox
//                var checks = document.getElementsByTagName("input");
                var checks = document.getElementsByName("checkone");
//                alert(checks.length);
                for(var i = 0; i < checks.length; i++){
//                     修改每一个checkbox的状态
                    var checkone = checks[i];
                    checkone.checked = checked;
                }
            }
        </script>
    </head>
    <body onload="init()">
        <table border="1px" width="600px" id="tab">
            <tr >
                <td>
                    <input type="checkbox" onclick="checkAll()" id="check1" />
                </td>
                <td>分类ID</td>
                <td>分类名称</td>
                <td>分类商品</td>
                <td>分类描述</td>
                <td>操作</td>
            </tr>
            <tr>
                <td>
                    <input type="checkbox" name="checkone" />
                </td>
                <td>1</td>
                <td>手机数码</td>
                <td>华为,小米,尼康</td>
                <td>黑马数码产品质量最好</td>
                <td>
                    <a href="#">修改</a>|<a href="#">删除</a>
                </td>
            </tr>
            <tr>
                <td>
                    <input type="checkbox" name="checkone"/>
                </td>
                <td>2</td>
                <td>学习用品</td>
                <td>铅笔,橡皮</td>
                <td>买买买</td>
                <td><a href="#">修改</a>|<a href="#">删除</a></td>
            </tr>
            <tr>
                <td>
                    <input type="checkbox" name="checkone"/>
                </td>
                <td>3</td>
                <td>电脑办公</td>
                <td>联想,小米</td>
                <td>笔记本特卖</td>
                <td><a href="#">修改</a>|<a href="#">删除</a></td>
            </tr>
            <tr>
                <td>
                    <input type="checkbox" name="checkone"/>
                </td>
                <td>4</td>
                <td>馋嘴零食</td>
                <td>辣条,麻花,黄瓜</td>
                <td>年货</td>
                <td><a href="#">修改</a>|<a href="#">删除</a></td>
            </tr>
            <tr>
                <td>
                    <input type="checkbox" name="checkone"/>
                </td>
                <td>5</td>
                <td>床上用品</td>
                <td>床单,被套,四件套</td>
                <td>都是套子</td>
                <td><a href="#">修改</a>|<a href="#">删除</a></td>
            </tr>
        </table>
    </body>
</html>
原文地址:https://www.cnblogs.com/wml2018/p/13052850.html