zoukankan      html  css  js  c++  java
  • DOM编程练习(慕课网题目)

    编程练习

    制作一个表格,显示班级的学生信息。

    要求:

    1. 鼠标移到不同行上时背景色改为色值为 #f2f2f2,移开鼠标时则恢复为原背景色 #fff

    2. 点击添加按钮,能动态在最后添加一行

    3. 点击删除按钮,则删除当前行

    我的解答

    <!DOCTYPE html>
    <html>
    <head>
        <title> new document </title>
        <meta http-equiv="Content-Type" content="text/html; charset=gbk"/>
        <script type="text/javascript">
    
            window.onload = function () {
                var tr = document.getElementsByTagName("tr");
                for(var i=0;i<tr.length;i++){
                    changebgc(tr[i]);
                }
            };
            // 鼠标移动改变背景,可以通过给每行绑定鼠标移上事件和鼠标移除事件来改变所在行背景色;
            function changebgc(obj) {
                obj.onmouseover = function () {
                    obj.style.backgroundColor = "#f2f2f2";
                };
                obj.onmouseout = function () {
                    obj.style.backgroundColor = "#fff";
                }
            }
    
            // 编写一个函数,供添加按钮调用,动态在表格的最后一行添加子节点;
            var num = 2;
            function add() {
                num++;
                var newtr = document.createElement("tr");
                var td1 = document.createElement("td");
                var td2 = document.createElement("td");
                var del = document.createElement("td");
                var newtext1 = document.createTextNode("xh00"+num);
                var newtext2 = document.createTextNode("学生"+num);
                del.innerHTML = "<a href="javascript:;" onclick="remove(this)" >删除</a>";
                td1.appendChild(newtext1);
                td2.appendChild(newtext2);
                var table = document.getElementById("table");
                newtr.appendChild(td1);
                newtr.appendChild(td2);
                newtr.appendChild(del);
                table.appendChild(newtr);
                var tr = document.getElementsByTagName("tr");
                for(var i= 0;i<tr.length;i++) {
                    changebgc(tr[i]);
                }
            }
    
    
            // 创建删除函数
            function remove(obj) {
                var tr = obj.parentNode.parentNode;
                tr.parentNode.removeChild(tr);
            }
    
    
        </script>
    </head>
    <body>
    <table border="1" width="50%" id="table">
        <tr>
            <th>学号</th>
            <th>姓名</th>
            <th>操作</th>
        </tr>
    
        <tr>
            <td>xh001</td>
            <td>王小明</td>
            <td><a href="javascript:;" onclick="remove(this)">删除</a></td>   <!--在删除按钮上添加点击事件  -->
        </tr>
    
        <tr>
            <td>xh002</td>
            <td>刘小芳</td>
            <td><a href="javascript:;" onclick="remove(this)" >删除</a></td>   <!--在删除按钮上添加点击事件  -->
        </tr>
    
    </table>
    <input type="button" value="添加一行" onclick="add()" />   <!--在添加按钮上添加点击事件  -->
    </body>
    </html>
  • 相关阅读:
    Jemeter编写脚本(五类常见请求)
    正则表达式-问号的四种用法
    Python正则表达式操作指南(转)
    Python文件和目录操作方法大全(含实例)
    Python os.walk() 方法
    Python文件和流
    Python pip常用指令
    Windows7下配置JMeter安装环境
    postman进行http接口测试
    递归Python文件目录操作
  • 原文地址:https://www.cnblogs.com/sunxirui00/p/7504468.html
Copyright © 2011-2022 走看看