案例_动态表格_添加和删除

案例_动态表格_添加和删除

分析:

1,添加
  1.给添加按钮绑定事件
  2.获取文本框内容
  3.创建td设置td的文本框的内容
  4.创建tr
  5.将td添加到tr中
  6.获取table,将tr添加到table中

2,删除
  1.确定点击的是哪一个超链接
    <td><a href="javascript:void(0);" onclick="delTr(this);">删除</a></td>
  2.怎么删除
    removeChild():通过父节点删除子节点  

复制代码
<head>
    <meta charset="UTF-8">
    <title>动态表格添加</title>
    <style>
        table{
            border: 1px solid;
            margin: auto;/* 外边距居中 */
            width: 500px;
        }
        td,th{
            text-align: center;/* 文字居中 */
            border: 1px solid;
        }
        div{
            text-align: center;
            margin: 50px;

        }
    </style>
</head>
<body>

    <div>
        <input id="id" type="text" placeholder="请输入编号">
        <input id="name" type="text" placeholder="请输入姓名">
        <input id="gender" type="text" placeholder="请输入性别">
        <input id="btn_add" type="button" value="添加">
    </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,添加
                1.给添加按钮绑定事件
                2.获取文本框内容
                3.创建td设置td的文本框的内容
                4.创建tr
                5.将td添加到tr中
                6.获取table,将tr添加到table中
            2,删除
                1.确定点击的是哪一个超链接
                    <td><a href="javascript:void(0);" onclick="delTr(this);">删除</a></td>
                2.怎么删除
                    removeChild():通过父节点删除子节点


     */
    //1获取按钮
    document.getElementById("btn_add").onclick = function (){
        //2获取文本框的内容
        let id = document.getElementById("id").value;
        let name = document.getElementById("name").value;
        let gender = document.getElementById("gender").value;

        //3创建td 赋值td的标签体
        //id 的 td
        var td_id = document.createElement("td");// 在对象中创建一个对象
        let text_id = document.createTextNode(id);// 创建节点
        td_id.appendChild(text_id);// 添加进去

        //name 的 td
        var td_name = document.createElement("td");// 在对象中创建一个对象
        let text_name = document.createTextNode(name);// 创建节点
        td_name.appendChild(text_name);// 添加进去

        //gender 的 td
        var td_gender = document.createElement("td");// 在对象中创建一个对象
        let text_gender = document.createTextNode(gender);// 创建节点
        td_gender.appendChild(text_gender);// 添加进去

        //a标签td
        var  td_a = document.createElement("td");
        let ele_a = document.createElement("a");
        //设置属性
        ele_a.setAttribute("href","javascript:void(0)");
        ele_a.setAttribute("onclick","delTr(this)");
        let text_a = document.createTextNode("删除");// 文本内容
        ele_a.appendChild(text_a);
        td_a.appendChild(ele_a);

        //4创建tr
        let 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,将tr添加到table中
        let 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>
复制代码

 

posted @   monkey大佬  阅读(47)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示