动态表格

  今天做了一个html的界面  感觉比以往用的要比较好  利用JavaScript可以更好的是想增加删除的功能

 

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>例题四--动态表格</title>
    <style>
    table{
        border: 1px;
        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" value="添加" id="btn_add">
    </div>
    <table>
        <caption>学生信息表</caption>
        <tr>
            <th>编号</th>
            <th>姓名</th>
            <th>性别</th>
            <th>操作</th>
        </tr>
        <tr>
            <th>1</th>
            <th>李迎辉</th>
            <th></th>
            <th><a href="javascript:void(0);" onclick="delTr(this);">删除</a></th>
        </tr>
        <tr>
            <th>2</th>
            <th>张雨豪</th>
            <th></th>
            <th><a href="javascript:void(0);" onclick="delTr(this);">删除</a></th>
        </tr>
        <tr>
            <th>3</th>
            <th>姜乃日</th>
            <th></th>
            <th><a href="javascript:void(0);" onclick="delTr(this);">删除</a></th>
        </tr>
        <tr>
            <th>4</th>
            <th>何正阳</th>
            <th></th>
            <th><a href="javascript:void(0);" onclick="delTr(this);">删除</a></th>
        </tr>
    </table>
</body>
<script>
    /*
分析:
    添加
    1.给添加按钮绑定单击事件
    2.获取文本框内容
    3.创建td,设置td的文本为文本框的内容
    4.创建tr
    5.将td添加到tr
    6.获取table,tr添加到table中
    删除:
    1.确定点击的是哪一个超链接
    2怎么删除?
        removeChild():通过父节点删除子节点
    */
    document.getElementById("btn_add").onclick=function(){
        var id=document.getElementById("id").value;
        var name=document.getElementById("name").value;
        var gender=document.getElementById("gender").value;
        //创建td,赋值td的标签体
        var td_id=document.createElement("td");
        var text_id=document.createTextNode(id);
        td_id.appendChild(text_id);
        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);
        //a标签的td
        var td_a=document.createElement("td");
        var ele_a=document.createElement("a");
        ele_a.setAttribute("href","javascript:void(0);");
        ele_a.serAttribute("onclick","delTr(this);");
        var text_a=document.createTextNode("删除");
        ele_a.appendChild(text_a)
        td_a.appendChild(ele_a)
        //创建tr
        var tr=document.createElement("tr");
        tr.appendChild(td_id);
        tr.appendChild(td_name);
        tr.appendChild(td_gender);
        tr.appendChild(td_a);
        //获取table
        var table=document.getElementsByTagName("table")[0];
        table.appendChild(tr);
    }
/*     //使用innerHTML添加
document.getElementById("btn_add").onclick=function(){
        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>
            <th>"+id+"</th>
            <th>"+name+"</th>
            <th>"+gender +"</th>
            <th><a href="javascript:void(0);" onclick="delTr(this);">删除</a></th>
        </tr>"
}
*/
    //删除方法
    function delTr(obj){
        var table=obj.parentNode.parentNode.parentNode;
        var tr=obj.parentNode.parentNode;
        table.removeChild(tr);
    }
</script>
</html>

其中上面的话就是利用添加子节点然后再添加一个标签嵌入    套娃实行就行了  

但是个人感觉还是中间使用innerHTML好用   很简单

 

posted @ 2022-03-29 14:08  李迎辉  阅读(60)  评论(0)    收藏  举报