JS 动态表格(添加、删除行)

用JS实现表格的增删功能,添加或删除一列:

实现结果如下图:

1)添加行;

2)删除行;

实现代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>动态表格</title>
    <style>
        a{
            text-decoration: none;
        }
        .one{
            margin: 0 auto;
            width: 1000px;
        }
        .btns {
            margin-bottom: 5px;
        }
        .btn {
            display: inline-block;
            padding: .3em 1.2em;
            border-radius: 3px;
            background-color: teal;
            color: #fff;
            cursor :pointer;
        }
        table.table {
            box-sizing: border-box;
            width: 100%;
            border-collapse: collapse;
        }
        table.table td ,
        table.table th {
            border: 1px solid #ccc;
            line-height: 2em;
            text-align: center;
        }
        .none {
            display: none;
        }
    </style>
</head>
<body>
    <div class="one">
        <div class="btns">
            <div class="btn" id="btn_add">添加</div>
            <div class="btn">批量导入</div>
            <div class="btn">批量删除</div>
        </div>
        <table class="table">
            <thead>
                <tr>
                    <th width="80px">编号</th>
                    <th width="100px">班级</th>
                    <th width="220px">姓名</th>
                    <th width="80px">性别</th>
                    <th width="80px">年龄</th>
                    <th>邮箱</th>
                    <th>手机</th>
                    <th width="100px">操作</th>
                </tr>
            </thead>
            <tbody>
                <tr class="none" >
                    <td><input type="checkbox"></td>
                    <td></td>
                    <td></td>
                    <td></td>
                    <td></td>
                    <td></td>
                    <td></td>
                    <td>
                        <a class="btn_del" href="javascript:void(0)">删除</a>
                        <a class="btn_upd" href="javascript:void(0)">修改</a>
                    </td>
                </tr>
            </tbody>
        </table>
    </div>
    <script>

        //获取Id为btn_add的元素,并将其赋值给btn_add
        var btn_add = document.getElementById("btn_add");

        //获取标签名字为tbody的第一个标签,并将其赋值给tbody
        var tbody = document.getElementsByTagName("tbody")[0];

        // 为删除按钮绑定事件处理函数
        tbody.onclick = function(event){
            //新建触发事件=触发事件的Dom元素本身(触发事件即点击事件)
            var target = event.target;

            //如果触发事件的节点名字===a(如果点击a标签)
            if(target.nodeName === "A"){

                //如果触发事件的class名字===btn_del(如果点击class名字===btn_del的a标签)
                if(target.className === "btn_del"){
                    //移除tody下的孩子(删除点击事件的父节点的父节点,即删除点击的a标签的父节点(td标签)的父节点(tr标签)
                    tbody.removeChild(target.parentNode.parentNode)
                }
                //如果触发事件的class名字===btn_upd(如果点击class名字===btn_upd的a标签)
                if(target.className === "btn_upd"){
                    alert("修改");
                }
            }
        }

        // 为添加按钮绑定事件处理函数
        btn_add.onclick = function(event){

             // 产生一个tr,新添加行等于复制隐藏行
             var newTr = tbody.firstElementChild.cloneNode(true);

             //新添加行的第2+1列的值为0-1之间的随机小数
             newTr.children[2].innerHTML = "<strong>"+Math.random()+"</strong>";

             //新添加行的class名字为0-1之间的随机小数
             newTr.className = Math.random();

             // 将一个tr追加到tbody
             tbody.appendChild(newTr);
        };
    </script>
</body>
</html>

原文地址:https://www.cnblogs.com/lidyfamily/p/11448103.html

时间: 2024-08-05 12:42:28

JS 动态表格(添加、删除行)的相关文章

js 动态增加行删除行

1 <body> 2 <table id="tableID" border="1" align="center" width="60%"> 3 <tr> 4 <th>用户名</th> 5 <th>邮箱</th> 6 <th>操作</th> 7 </tr> 8 <tbody id="tbodyI

在&lt;s:iterator&gt;标签里给动态表格添加序号

在<s:iterator>标签里给动态表格添加序号,需要用到<s:iterator>标签里的Status属性里的count eg:<s:iterator value="" var="" status="st">                            <tr>                                <td><s:property value=&

使用js为表格添加一行

今天同事问了我一个问题,为表格添加新的行,我用的js写了一下,代码如下: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script> var j=1; function addtr(){ var tableobj =document.getElementById("tid"); var t

js动态表格

用js实现动态增加表格行数. html: <table> <thead> <tr> <td>学号</td> <td>姓名</td> <td>操作</td> </tr> </thead> <tbody id="body"></tbody> </table> <button onclick="add()&qu

js 动态自动添加 删除

dome文件: <form>                    <table cellpadding="0" cellspacing="0" class="right-table"  style="border-collapse:collapse; width: 710px;" id="testTbl">                        <tr>    

JS 动态表格

表格 在script里面使用innerHTML获取标签体的内容,然后进行添加. 删除则是不断的获取父节点,利用父节点删除子节点. 在做这个的时候,要主要获取表格table的对象有两种方式,一是getElementById("table"),通过id获取对象.二是通过document.getElementsByTagName("table")[0]; //获取第一个表格  ,它返回的是一个表格数组.注意两者区别. 原文地址:https://www.cnblogs.co

jquery on()绑定的点击事件在js动态新添加的元素上无效

js生成的元素绑定事件必须使用live,但新版的jq,已经淘汰了live,可以用on方法代替,但必须注意写法. $('.class').on("click",function(){--});相当于$('.class').bind("click",function(){--});$(document).on("click",'.class',function(){--});相当于$('.class').live("click",

js操作表格-添加与删除

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

jq 表格添加删除行

直接可以使用::::::::::::::::::::::::::::::<script type="text/javascript"> var rowCount=0; //行数默认1行 //添加行 function addRow(){ rowCount++; var newRow=' <tr id="option"'+rowCount+' class="q'+rowCount+'"><td> <a cla