javascriptJavaScript学习笔记

javascript 表格的添加与删除

2016-12-07  本文已影响14人  何必自找失落_
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>javascript表格的添加和删除</title>
    <link rel="stylesheet" type="text/css" href="css/reset.css">
    <style type="text/css">
        #demo{
            width: 420px;
            margin: 30px auto;
        }
        input{
            width: 330px;
            height: 24px;
            line-height: 24px;
            float:left;
            border-radius: 4px;
            outline: none;
            border-color: #ccc;
        }
        button{
            width: 60px;
            text-align: center;
            line-height: 30px;
            height: 30px;
            border: none;
            background-color: #ccc;
            border: 1px solid #000;
            color: #fff;
            border-radius: 4px;
            float: right;
            cursor: pointer;
        }
        table{
            line-height: 30px;
            margin-top: 20px;
            border-bottom: 1px solid #ccc;
            border-right: 1px solid #ccc;
        }
        th{
            text-align: left;
            text-indent: 20px;
        }
        td{
            text-indent: 20px;
        }
        th,td{
            border-left: 1px solid #ccc;
            border-top: 1px solid #ccc;
        }
        a{
            text-decoration: none;
        }
    </style>
</head>
<body>
    <div id="demo">
        <div style="overflow:hidden"><input type="text" name=""><button id="btn">添加</button></div>
        <table>
            <thead>
                <tr>
                    <th width="180px">表头内容</th>
                    <th width="180px">表头内容</th>
                    <th width="180px">表头内容</th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td>表头内容1</td>
                    <td>表头内容2</td>
                    <td><a href="javascript:void(0)">del</a></td>
                </tr>
                <tr>
                    <td>表头内容1</td>
                    <td>表头内容2</td>
                    <td><a href="javascript:void(0)">del</a></td>
                </tr>
                <tr>
                    <td>表头内容1</td>
                    <td>表头内容2</td>
                    <td><a href="javascript:void(0)">del</a></td>
                </tr>
            </tbody>
        </table>
    </div>
    <script type="text/javascript">
        window.onload = function (){
            var tbody = document.getElementsByTagName("tbody")[0];
            var btn = document.getElementById("btn");
            var input = document.getElementsByTagName("input")[0];
            btn.onclick = function (){
                add();
            }
            tbody.onclick = function (event){
                var event = event || window.event;
                // ie7 ie8 不支持event.target 
                var src = event.srcElement || event.target;
                // 如果点击的是del 然后删除tr (这种事件委托事件处理事件更强)
                if (src.innerHTML == "del") {
                    tbody.removeChild(src.parentNode.parentNode);
                }
            }
            function add(){
                var tr = document.createElement("tr");
                // tr.innerHTML = "<td>"+input.value+"</td><td>表头内容2</td><td><a href='javascript:void(0)'>del</a></td>";
                //我使用上面的方法,低版本浏览器无法正确添加
                var td1 = document.createElement("td");
                td1.innerHTML = input.value;
                var td2 = document.createElement("td");
                td2.innerHTML = "表头内容i";
                var td3 = document.createElement("td");
                var a = document.createElement("a");
                a.innerHTML = "del";
                a.setAttribute("href","javascript:void(0)")
                td3.appendChild(a);
                tr.appendChild(td1);
                tr.appendChild(td2);
                tr.appendChild(td3);
                tbody.appendChild(tr);
            }
        }
    </script>
</body>
</html>
上一篇下一篇

猜你喜欢

热点阅读