动态添加表格(单行删除,全部删除,选中删除,添加表格)

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        td {
            text-align: center;
            border: 1px solid blue;
        }

        th {
            text-align: center;
            border: 1px solid blue;
        }

        table {
            border-collapse: collapse;
            width: 350px;
            height: 70px;
        }
    </style>
</head>

<body>
    <p>姓名:<input type="text" class="inp1"></p>
    <p>年龄:<input type="text" class="inp2"></p>
    <button class="btn1">添加一个学生</button>&emsp;<button class="btn2">全部删除</button>&emsp;<button class="btn3">选中删除</button>
    <br>
    <table>
        <thead>
            <tr>
                <th><input type="checkbox" class="all">全选</th>
                <th>序号</th>
                <th>姓名</th>
                <th>年龄</th>
                <th>操作</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td><input type="checkbox" class="one"></td>
                <td>1</td>
                <td>小明</td>
                <td>10</td>
                <td><button class="btn4">删除</button></td>
            </tr>
            <tr>
                <td><input type="checkbox" class="one"></td>
                <td>2</td>
                <td>小方</td>
                <td>8</td>
                <td><button class="btn4">删除</button></td>
            </tr>
        </tbody>


    </table>
    <script>
        // 获取页面元素
        // input
        var input = document.querySelectorAll('input')
        var inp1 = document.querySelector('.inp1');
        var inp2 = document.querySelector('.inp2');
        // button
        var btn1 = document.querySelector('.btn1');
        var btn2 = document.querySelector('.btn2');
        var btn3 = document.querySelector('.btn3');
        var btn4 = document.querySelector('.btn4');
        // 表格
        var table = document.querySelector('table');
        var tbody = document.querySelector('tbody');
        var all = document.querySelector('.all');
        var one = document.querySelector('.one');
        var num = 2;

        // 添加学生
        btn1.onclick = function () {
            //非空判断
            // if (inp1.value.trim() === '') {
            //     alert('内容不能为空');
            // }
            // if (inp2.value.trim() === '') {
            //     alert('内容不能为空');
            // }
            //创建tr节点
            var tr = document.createElement('tr');
            //节点里面设置内容
            num++;
            tr.innerHTML = '<td><input type="checkbox" class="one"></td>\
            <td>'+ num + '</td>\
                <td>'+ inp1.value + '</td>\
                    <td>'+ inp2.value + '</td>\
                    <td><button class="btn4">删除</button></td>'
            // 将创建的节点放入指定位置
            tbody.appendChild(tr);
            // input里的内容自动更新清空
            inp1.value = '';
            inp2.value = '';



            //调用函数
            fan()
            btn4fn()
            Allfn()
        }





        // 全选全不选
        all.onclick = function () {
            var one = document.querySelectorAll('.one');
            console.log(one);
            for (var i = 0; i < one.length; i++) {
                one[i].checked = this.checked;
            }
        }





        // 全选全不选的反向操作
        function fan() {
            var one = document.querySelectorAll('.one')
            for (var i = 0; i < one.length; i++) {
                one[i].onclick = function () {
                    var len1 = one.length;
                    var len2 = document.querySelectorAll('.one:checked').length;
                    var res = len1 === len2 ? true : false;
                    all.checked = res;
                }

            }
        }





        //选中删除
        btn3.onclick = function () {
            var xuanzhong = document.querySelectorAll('.one:checked');
            for (var i = 0; i < xuanzhong.length; i++) {
                xuanzhong[i].parentElement.parentElement.remove(xuanzhong[i].parentElement)
            }
        }




        // 单行删除
        function btn4fn() {
            var tbody = document.querySelector('tbody')
            var btn4 = document.querySelectorAll('.btn4');
            for (var i = 0; i < btn4.length; i++) {
                btn4[i].onclick = function () {
                    this.parentNode.parentNode.remove()
                }
            }
        }




        // 全部删除
        function Allfn() {
            var tbody = document.querySelector('tbody')
            var btn2 = document.querySelector('.btn2')
            btn2.onclick = function () {
                var tr = document.querySelectorAll('tbody>tr')
                for (var i = 0; i < tr.length; i++) {
                    tbody.removeChild(tr[i])
                }
            }
            var all = document.querySelector('.all');
            console.log(all);
            all.checked = false;
        }
    </script>
</body>

</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值