JavaScript DOM练习(动态表格添加) December 25,2019

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

    <style>
        div{
            text-align: center;
            margin: 50px;
        }
        input{
            text-align: center;
        }
        th,td{
            text-align: center;
            border: 1px solid;
        }
        table{
            border: 1px solid;
            margin: auto;
            width: 500px;
        }
    </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>
    </table>

    <script>
            /*
                分析:
                    1.添加:
                        1. 给添加按钮绑定单击事件
                        2. 获取文本框的内容
                        3. 创建td,设置td的文本为文本框的内容。
                        4. 创建tr
                        5. 将td添加到tr中
                        6. 获取table,将tr添加到table中
                    2.删除:
                        1.确定点击的是哪一个超链接
                        <a href="javascript:void(0);" onclick="delTr(this);" >删除</a>
                        2.怎么删除?
                        removeChild():通过父节点删除子节点
            */
            //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的文本为文本框的内容
            var td_id = document.createElement("td");//创建元素节点
            var text_id = document.createTextNode(id);//创建带id值的文本节点
            td_id.appendChild(text_id);//将id值添加进td节点中

            var td_name = document.createElement("td");
            var text_name = document.createTextNode(name);
            td_name.appendChild(text_name);

            var td_gender = document.createElement("td");
            var text_gender = document.createTextNode(gender);
            td_gender.appendChild(text_gender);

            var td_a = document.createElement("td");
            var element_a = document.createElement("a");
            element_a.setAttribute("href","javascript:void(0);");
            element_a.setAttribute("onclick","delTr(this);");
            var textNode = document.createTextNode("删除");
            element_a.appendChild(textNode);
            td_a.appendChild(element_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,将tr添加到table中
            var table = document.getElementsByTagName("table")[0];
            table.appendChild(tr);
        }
*/

            //使用inner
            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;

                var table = document.getElementsByTagName("table")[0];
                table.innerHTML +="<tr>\n" +
                    "<td>"+id+"</td>\n" +
                    "<td>"+name+"</td>\n" +
                    "<td>"+gender+"</td>\n" +
                    " <td><a href=\"javascript:void(0);\" onclick=\"delTr(this);\">删除</a></td>\n" +
                    " </tr>";
            }

            //删除方法
            function delTr(obj){
                var table = obj.parentNode.parentNode.parentNode;//获取父节点
                var tr = obj.parentNode.parentNode;
                table.removeChild(tr);
            }
    </script>
</body>
</html>

猜你喜欢

转载自www.cnblogs.com/yyanghang/p/12099269.html