核心D0M-Node:节点对象

Node:节点对象,增删改

 方法

CRUD dom树

①appendChild() 把新的子节点添加到节点的子节点列表末尾。添加(常用)

②replaceChild() 用新的节点替换一个子节点。修改

③removeChild() 删除当前节点指定的子节点,并返回。删除(常用)

④查是document的get那些方法

属性

parentNode 返回节点的父节点。获取父节点

<!DOCTYPE html>
<html lang="en">
<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 type="text" id="id" placeholder="请输入编号">
    <input type="text" id="name" placeholder="请输入姓名">
    <input type="text" id="gender" placeholder="请输入性别">
    <input type="button" id="but_add" 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.字符串不能当做子节点直接添加,把字符串转换为文本节点
    *   4.创建td,
    *   5.设置td的文本框的内容
    *   6.创建tr,
    *   7.将td添加到tr中
    *   8.获取table
    *   9.将tr添加到table中
    * 2.删除
    *   1.确定点击的是哪一个超链接:this
    *   2.怎么删除:通过父节点删除子节点
    * */

    //1.给添加按钮绑定单机事件
    document.getElementById("but_add").onclick = function () {
        //2.获取文本框的内容(value属性就是他的内容)
        var id = document.getElementById("id").value;
        var name = document.getElementById("name").value;
        var gender = document.getElementById("gender").value;


        //3.字符串不能当做子节点直接添加,把字符串转换为文本节点
        var text_id = document.createTextNode(id);
        var text_name = document.createTextNode(name);
        var text_gender = document.createTextNode(gender);


        //4.创建td
        var td_id = document.createElement("td");
        var td_name = document.createElement("td");
        var td_gender = document.createElement("td");
        var td_a = document.createElement("td");


        //创建a标签
        var ele_a = document.createElement("a");
        //设置a标签的href属性
        ele_a.setAttribute("href", "javascript:void(0);");
        //设置a标签的onclick属性,调用删除方法,设置参数为this(当前对象)
        ele_a.setAttribute("onclick", "delTR(this);");
        //设置a标签的文本内容
        var text_a = document.createTextNode("删除");
        //给a标签添加文本内容:删除
        ele_a.appendChild(text_a);


        //5.设置td的文本框的内容
        td_id.appendChild(text_id);
        td_name.appendChild(text_name);
        td_gender.appendChild(text_gender);
        td_a.appendChild(ele_a);


        //6.创建tr
        var tr = document.createElement("tr");


        //7.将td添加到tr中
        tr.appendChild(td_id);
        tr.appendChild(td_name);
        tr.appendChild(td_gender);
        tr.appendChild(td_a);


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


        //9.将tr添加到table中
        table.appendChild(tr);
    }
</script>

<script>
    //删除方法
    function delTR(obj) {
        var table = obj.parentNode.parentNode.parentNode;
        var tr = obj.parentNode.parentNode;
        table.removeChild(tr);//通过父节点删除子节点
    }
</script>
</body>
</html>

猜你喜欢

转载自www.cnblogs.com/rijiyuelei/p/12379899.html
今日推荐