动态表格案例 JavaScript

分析:

        1.添加:

                1.给添加按钮绑定单击事件

                2.获取文本框内容

                3.创建td,设置td的文本为文本框内容

                4.创建tr

                5.将td添加到tr中

                6.获取table,将tr添加到table中

        2.删除:

                1.确定点击的是哪一个超连接

                2.怎么删除?

                        removeChild():通过父节点删除子节点

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        div {
            text-align: center;
            margin: 50px;
        }
        table {
            border: 1px solid;
            margin: auto;
            width: 500px;
        }
        td,th {
            text-align: center;
            border: 1px solid;
        }


    </style>
</head>
<body>
<div>
    <input type="text" id="id" placeholder="请输入编号">
    <input type="text" id="name" placeholder="请输入姓名">
    <input type="text" id="gender" placeholder="请输入性别">
    <input type="button" value="添加" id="btn_add">

</div>
<table>
    <caption>学生信息表</caption>
    <tr>
        <th>编号</th>
        <th>姓名</th>
        <th>性别</th>
        <th>操作</th>
    </tr>

    <tr>
        <td>1</td>
        <td>令狐冲</td>
        <td>男</td>
        <td><a href="javascript:void(0)" onclick="delTr(this);">删除</a></td>
    </tr>
    <tr>
        <td>2</td>
        <td>任我行</td>
        <td>男</td>
        <td><a href="javascript:void(0)" onclick="delTr(this);">删除</a></td>
    </tr>
    <tr>
        <td>3</td>
        <td>岳不群</td>
        <td>?</td>
        <td><a href="javascript:void(0)" onclick="delTr(this);">删除</a></td>
    </tr>
</table>

<script>
    //1.获取按钮
    document.getElementById("btn_add").onclick = function (){
        //2.获取文本内容
        var id = document.getElementById("id").value;
        var name = document.getElementById("name").value;
        var gender = document.getElementById("gender").value;

        //3.创建td,赋值td的标签体
        //id的td
        var td_id = document.createElement("td");
        var text_id = document.createTextNode(id);
        td_id.appendChild(text_id);
        //name的td
        var td_name = document.createElement("td");
        var text_name = document.createTextNode(name);
        td_name.appendChild(text_name);
        //gender的td
        var td_gender = document.createElement("td");
        var text_gender = document.createTextNode(gender);
        td_gender.appendChild(text_gender);
        //a标签的td
        var td_a = document.createElement("td");
        var ele_a = document.createElement("a");
        ele_a.setAttribute("href","javascript:void(0);")
        ele_a.setAttribute("onclick","delTr(this);")
        var text_a = document.createTextNode("删除");
        ele_a.appendChild(text_a);
        td_a.appendChild(ele_a);
        //4.创建tr
        var tr = document.createElement("tr");
        //5.添加td到tr中
        tr.appendChild(td_id);
        tr.appendChild(td_name);
        tr.appendChild(td_gender);
        tr.appendChild(td_a);

        //6.获取table
        var table = document.getElementsByTagName("table")[0];
        table.appendChild(tr);



        }

    //删除方法
    function delTr(obj){
        var table = obj.parentNode.parentNode.parentNode;
        var tr = obj.parentNode.parentNode;

        table.removeChild(tr);
    }
</script>
</body>
</html>

用简单的事件监听事件来实行:

将表格添加全选,不选,反选,变换颜色

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        div {
            text-align: center;
            margin: 50px;
        }
        table {
            border: 1px solid;
            margin: auto;
            width: 500px;
        }
        td,th {
            text-align: center;
            border: 1px solid;
        }
        .over {
            background-color: red;
        }
        .out {
            background-color: wheat;
        }


    </style>

    <script>

        //1.在页面加载完成后绑定事件
        window.onload = function () {
            //2.给全选按钮绑定单击事件
            document.getElementById("selectAll").onclick = function () {
                //全选功能
                //2.1获取所有的checkbox
                var cbs = document.getElementsByName("cb");
                //2.2遍历
                for (var i = 0; i < cbs.length; i++) {
                    //2.3设置每一个cb的状态为选中
                    cbs[i].checked = true;
                    }
                }
                //3.给全不选按钮绑定单击事件
                document.getElementById("unSelectAll").onclick = function () {
                    //全不选功能
                    //3.1获取所有的checkbox
                    var cbs = document.getElementsByName("cb");
                    //3.2遍历
                    for (var i = 0; i < cbs.length; i++) {
                        //2.3设置每一个cb的状态为选中
                        cbs[i].checked = false;
                    }
                }
                //4.给反选按钮绑定单击事件
                document.getElementById("selectRev").onclick = function () {
                    //反选功能
                    //4.1获取所有的checkbox
                    var cbs = document.getElementsByName("cb");
                    //4.2遍历
                    for (var i = 0; i < cbs.length; i++) {
                        //4.3设置每一个cb的状态为相反
                        cbs[i].checked = !cbs[i].checked;
                    }
                }
                //5.给第一个按钮绑定单击事件
                document.getElementById("firstCb").onclick = function () {
                    //功能
                    //5.1获取所有的checkbox
                    var cbs = document.getElementsByName("cb");
                    //在获取第一个cb
                    //5.2遍历
                    for (var i = 0; i < cbs.length; i++) {
                        //4.3设置每一个cb的状态和第一个cb状态相同
                        cbs[i].checked = this.checked;
                    }
                }
                //6.将鼠标移上和移下元素绑定tr
                var trs = document.getElementsByTagName("tr");
                //遍历
            for (var i = 0; i < trs.length; i++) {
                //移到元素之上
                trs[i].onmouseover = function () {
                    this.className = "over";
                }
                //移下元素
                trs[i].onmouseout = function () {
                    this.className = "out";
                }
            }


        }
    </script>
</head>
<body>
<div>
<input type="text" id="id" placeholder="请输入编号">
<input type="text" id="name" placeholder="请输入姓名">
<input type="text" id="gender" placeholder="请输入性别">
<input type="button" value="添加" id="btn_add">

</div>
<table>
    <caption>学生信息表</caption>
    <tr>
        <td><input type="checkbox" name="cb" id="firstCb"></td>
        <th>编号</th>
        <th>姓名</th>
        <th>性别</th>
        <th>操作</th>
    </tr>

    <tr>
        <td><input type="checkbox" name="cb"></td>
        <td>1</td>
        <td>令狐冲</td>
        <td>男</td>
        <td><a href="javascript:void(0)" onclick="delTr(this);">删除</a></td>
    </tr>
    <tr>
        <td><input type="checkbox" name="cb"></td>
        <td>2</td>
        <td>任我行</td>
        <td>男</td>
        <td><a href="javascript:void(0)" onclick="delTr(this);">删除</a></td>
    </tr>
    <tr>
        <td><input type="checkbox" name="cb"></td>
        <td>3</td>
        <td>岳不群</td>
        <td>?</td>
        <td><a href="javascript:void(0)" onclick="delTr(this);">删除</a></td>
    </tr>
</table>
<div>
    <input type="button" value="全选" id="selectAll">
    <input type="button" value="全不选" id="unSelectAll">
    <input type="button" value="反选" id="selectRev">

</div>
</body>
</html>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值