静态网页:通讯录增删隔行变色重新编号

简介: 静态网页:通讯录增删隔行变色重新编号

效果:

1.png

交流群:970353786

布局代码:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title></title>
        <style type="text/css">
            #box{
                width: 500px;
                /* border: 1px solid black; */
                margin: 0px auto;
            }
            table{
                width: 100%;
            }
            caption{
                font-size: 40px;
            }
            table tr{
                height: 40px;
                font-size: 20px;
            }
            tbody td{
                text-align: center;
            }
            #box>button{
                width: 100%;
                margin-top: 20px;
                height: 50px;
                background-color: aquamarine;
                border-radius: 25px;
                border: none;
                font-size: 20px;
            }
        </style>
  </head>
  <body>
        <div id="box">
            <table border="1" cellspacing="0" cellpadding="0">
                <caption>通讯录</caption>
                <thead>
                    <tr><th>编号</th><th>姓名</th>
                    <th>电话</th><th>操作</th></tr>
                </thead>
                <tbody>
                    <tr><td>1</td><td>张三</td><td>18866668888</td><td><button type="button">删除</button></td></tr>
                    <tr><td>2</td><td>李四</td><td>18812345678</td><td><button type="button">删除</button></td></tr>
                </tbody>
            </table>
            <button type="button">添加新行</button>
        </div>
  </body>
</html>

删除功能代码:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title></title>
        <style type="text/css">
            #box{
                width: 500px;
                /* border: 1px solid black; */
                margin: 0px auto;
            }
            table{
                width: 100%;
            }
            caption{
                font-size: 40px;
            }
            table tr{
                height: 40px;
                font-size: 20px;
            }
            tbody td{
                text-align: center;
            }
            #box>button{
                width: 100%;
                margin-top: 20px;
                height: 50px;
                background-color: aquamarine;
                border-radius: 25px;
                border: none;
                font-size: 20px;
            }
        </style>
  </head>
  <body>
        <div id="box">
            <table id="mytable" border="1" cellspacing="0" cellpadding="0">
                <caption>通讯录</caption>
                <thead>
                    <tr><th>编号</th><th>姓名</th>
                    <th>电话</th><th>操作</th></tr>
                </thead>
                <tbody>
                    <tr><td>1</td><td>张三</td><td>18866668888</td><td><button type="button">删除</button></td></tr>
                    <tr><td>2</td><td>李四</td><td>18812345678</td><td><button type="button">删除</button></td></tr>
                </tbody>
            </table>
            <button id="addNewLineBtn" type="button">添加新行</button>
        </div>
  </body>
    <script type="text/javascript">
        //01-静态布局
        var table = document.getElementById("mytable")
        var addNewLineBtn = document.getElementById("addNewLineBtn")
        //02-添加新行
        addNewLineBtn.onclick = function(){
            var tr = document.createElement("tr");
            table.tBodies[0].appendChild(tr);
            var rowCount = table.tBodies[0].rows.length;
            console.log(rowCount);
            for (var i = 0;i < 4;i++) {
               var td = document.createElement("td");
               tr.appendChild(td);
               if (i == 0 ) {
                   td.innerText = rowCount
               }
               if (i == 3 ) {
                   td.innerHTML = '<button type="button">删除</button>'
               }
            }
            // delLine();
        }
        //03-删除一行
        //方法一
        // delLine();
        // function delLine(){
        //     var allDeleteBtns = table.tBodies[0].getElementsByTagName("button")
        //     for (var i = 0; i < allDeleteBtns.length; i++) {
        //         allDeleteBtns[i].onclick = function(){
        //            table.tBodies[0].removeChild(this.parentNode.parentNode)
        //         }
        //     }
        // }
        //方法二:事件代理
        table.tBodies[0].onclick = function(ev){
            console.log(ev.target);//获取单击的元素
            if (ev.target.type == "button") {
                this.removeChild(ev.target.parentNode.parentNode)
            }
        }
    </script>
</html>

添加功能代码:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title></title>
        <style type="text/css">
            #box{
                width: 500px;
                /* border: 1px solid black; */
                margin: 0px auto;
            }
            table{
                width: 100%;
            }
            caption{
                font-size: 40px;
            }
            table tr{
                height: 40px;
                font-size: 20px;
            }
            tbody td{
                text-align: center;
            }
            #box>button{
                width: 100%;
                margin-top: 20px;
                height: 50px;
                background-color: aquamarine;
                border-radius: 25px;
                border: none;
                font-size: 20px;
            }
        </style>
  </head>
  <body>
        <div id="box">
            <table id="mytable" border="1" cellspacing="0" cellpadding="0">
                <caption>通讯录</caption>
                <thead>
                    <tr><th>编号</th><th>姓名</th>
                    <th>电话</th><th>操作</th></tr>
                </thead>
                <tbody>
                    <tr><td>1</td><td>张三</td><td>18866668888</td><td><button type="button">删除</button></td></tr>
                    <tr><td>2</td><td>李四</td><td>18812345678</td><td><button type="button">删除</button></td></tr>
                </tbody>
            </table>
            <button id="addNewLineBtn" type="button">添加新行</button>
        </div>
  </body>
    <script type="text/javascript">
        //01-静态布局
        var table = document.getElementById("mytable")
        var addNewLineBtn = document.getElementById("addNewLineBtn")
        //02-添加新行
        addNewLineBtn.onclick = function(){
            var tr = document.createElement("tr");
            table.tBodies[0].appendChild(tr);
            var rowCount = table.tBodies[0].rows.length;
            console.log(rowCount);
            for (var i = 0;i < 4;i++) {
               var td = document.createElement("td");
               tr.appendChild(td);
               if (i == 0 ) {
                   td.innerText = rowCount
               }
               if (i == 3 ) {
                   td.innerHTML = '<button type="button">删除</button>'
               }
            }
        }
    </script>
</html>
相关文章
通讯录的实现(增删查改排序)(1)
本课题模拟通讯录的实现,包括: 1.增加联系人的信息 2.删除联系人 3.查找联系人 4.修改联系人信息 5.对联系人进行排序
77 0
通讯录的实现(增删查改排序)(2)
本课题模拟通讯录的实现,包括: 1.增加联系人的信息 2.删除联系人 3.查找联系人 4.修改联系人信息 5.对联系人进行排序
48 0
【文件版&动态版通讯录】
【文件版&动态版通讯录】
39 0
图文版实现无头非循环单链表的增加和删除操作
图文版实现无头非循环单链表的增加和删除操作
|
编译器
电话号码管理--链表的简单使用
电话号码管理--链表的简单使用
109 0
|
前端开发
后台添加菜单信息如何在前端循环遍历?
后台添加菜单信息如何在前端循环遍历?
48 0
7-3 通讯录排序(20分)
输入n个朋友的信息,包括姓名、生日、电话号码,本题要求编写程序,按照年龄从大到小的顺序依次输出通讯录。题目保证所有人的生日均不相同。
188 0
编号(太晚了,先发一题,可能以后题都单发了,方便分类整理)
编号(太晚了,先发一题,可能以后题都单发了,方便分类整理)
66 0
遍历寻找第一个满足条件的情况(7-10 电话聊天狂人
遍历寻找第一个满足条件的情况(7-10 电话聊天狂人
60 0
22、【收货地址管理模块】——收货地址增、删、改、查、分页列表、地址详情的功能开发
1、接口开发: 新建ShippingController类 image.png 在类上添加相关注解 @Controller @RequestMapping("/shipping/") public class ShippingContro...
2737 0