实现动态表格

内容
1.表格由专业班级学号1-10号同学的信息组成,包括:学号、姓名、性别、二级学院、班级、专业、辅导员;
2表格的奇数行字体为黑色,底色为白色;偶数行字体为白色,底色为黑色;
3.表格的每一行后有一个删除按钮,点击后会跳出提示弹窗,确认后删除该行的内容,并且删除后上述的颜色规律保持不变:
4.表格的右上方有一个添加按钮,点击后跳出一个表单弹窗,可以填加新的学生的信息。
原理
使用tbody标签加上对tr标签的添加实现添加
使用display标签实现添加表格的显示和隐藏
代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
	<style>
	*{
        margin: 0;
        padding: 0;
        list-style: none;
        text-decoration: none;
    }
    #add{
        display: block;
        position: absolute;
        top: 50px;
        right: 50px;
        width: 50px;
        height: 40px;
        font-size: 20px;
        line-height: 30px;
        background-color: #1F92CB;
        color: rgb(236, 236, 87);
        border: 0;
    }
    #table{
        width: 1000px;
        margin: 100px auto;
        border: 1px solid rgb(157, 157, 157);
    }
    #table a{
        color: rgb(255, 0, 0);
    }
    #table tr{
        text-align: center;
    }
    #table tr th{
        border: 1px solid rgb(157, 157, 157);
    }
    #table tr:nth-child(2n){
        color: rgb(22, 22, 22); 
        background-color: rgb(236, 236, 87);
    }
    #table tr:nth-child(2n+1){
        color: rgb(22, 22, 22); 
        background-color: #1F92CB;
    }
    #table2{
        width: 400px;
        height: 350px;
        border: 1px solid rgb(157, 157, 157);
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: center;
        margin: 100px auto;
        background-color: rgb(241, 241, 241);
    }
    #table2 tr input{
        right:0;
    }
    #table2 button{
        margin-top: 20px;
    }
    #box{
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        justify-content: center;
        align-items: center;
        width: 100%;
        height: 100%;
        z-index: 10;
        background-color: rgb(250, 235, 215,0.5);
    }
	</style>
</head>
<body>
    <button id="add">添加</button>
    <table id="table">
        <tr>
            <th>学号</th>
            <th>姓名</th>
            <th>性别</th>
            <th>二级学院</th>
            <th>班级</th>
            <th>专业</th>
            <th>辅导员</th>
            <th>是否删除</th>
        </tr>
        <tr>
            <td>202301</td>
            <td>刘一</td>
            <td></td>
            <td>计算机工程学院</td>
            <td>01</td>
            <td>计算机科学与技术</td>
            <td>刘老师</td>
            <td class="td"><a href="#">删除</a></td>
        </tr>
        <tr>
            <td>202302</td>
            <td>陈二</td>
            <td></td>
            <td>计算机工程学院</td>
            <td>01</td>
            <td>计算机科学与技术</td>
            <td>刘老师</td>
            <td class="td"><a href="#">删除</a></td>
        </tr>
        <tr>
            <td>202303</td>
            <td>张三</td>
            <td></td>
            <td>计算机工程学院</td>
            <td>01</td>
            <td>计算机科学与技术</td>
            <td>刘老师</td>
            <td class="td"><a href="#">删除</a></td>
        </tr>
        <tr>
            <td>202304</td>
            <td>李四</td>
            <td></td>
            <td>计算机工程学院</td>
            <td>01</td>
            <td>计算机科学与技术</td>
            <td>刘老师</td>
            <td class="td"><a href="#">删除</a></td>
        </tr>
        <tr>
            <td>202305</td>
            <td>王五</td>
            <td></td>
            <td>计算机工程学院</td>
            <td>01</td>
            <td>计算机科学与技术</td>
            <td>刘老师</td>
            <td class="td"><a href="#">删除</a></td>
        </tr>
    </table>
    <div id="box">
        <table id="table2">
            <tr>
                <td>学号:<input type="text" id="id"></td>
            </tr>
            <tr>
                <td>姓名:<input type="text" id="name"></td>
            </tr>
            <tr>
                <td>性别:<input type="text" id="sex"></td>
            </tr>
            <tr>
                <td>二级学院:<input type="text" id="school2"></td>
            </tr>
            <tr>
                <td>班级:<input type="text" id="classroom"></td>
            </tr>
            <tr>
                <td>专业:<input type="text" id="profess"></td>
            </tr>
            <tr>
                <td>辅导员:<input type="text" id="teacher"></td>
            </tr>
            <tr>
                <td><button id="up">提交</button></td>
                <td><button id="over">退出</button></td>
            </tr>
        </table>
    </div>
    <script>
        function deleta(){
            var tr = this.parentNode.parentNode
            var decide = confirm("是否删除?")// 显示提示
            if(decide){
                tr.parentNode.removeChild(tr)
            }
        }
        window.onload=function(){
            var add = document.getElementById("add")
            var link = document.querySelectorAll(".td a")
            var up = document.getElementById("up")
            
            for(var i=0;i<link.length;i++){// 为每一个a标签绑定一个响应函数
                link[i].onclick=deleta
            }
            var box = document.getElementById("box")
            var over = document.getElementById("over")

            up.onclick=function(){
            var id = document.getElementById("id").value
            var name = document.getElementById("name").value
            var sex = document.getElementById("sex").value
            var school2 = document.getElementById("school2").value
            var classroom = document.getElementById("classroom").value
            var profess = document.getElementById("profess").value
            var teacher = document.getElementById("teacher").value
            var tr = document.createElement("tr") //创建一个tr标签
            tr.innerHTML="<td>"+id+"</td>"+
                        "<td>"+name+"</td>"+
                        "<td>"+sex+"</td>"+
                        "<td>"+school2+"</td>"+
                        "<td>"+classroom+"</td>"+
                        "<td>"+profess+"</td>"+
                        "<td>"+teacher+"</td>"+
                        "<td class='td'><a href='#'>删除</a></td>" //添加tr标签以及其子标签
                var a = tr.getElementsByTagName("a")[0] // 获取tr标签中的a标签
                a.onclick = deleta; // a标签绑定响应函数
                
                var table = document.getElementById("table")
                var tbody=table.getElementsByTagName("tbody")[0];
                tbody.appendChild(tr)
            }
            add.onclick=function(){
                box.style.display="flex"
            }
            over.onclick=function(){
                box.style.display="none"
            }
            
        }
    </script>
</body>
</html>

效果
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当使用 Element UI 实现动态表格时,你可以按照以下步骤进行: 1. 首先,引入 Element UI 的组件和样式。确保你已经安装了 Element UI 并正确引入了相关的 CSS 和 JS 文件。 2. 在你的 Vue 组件中,创建一个 data 属性,用于存储表格的数据和列定义。例如: ```javascript data() { return { tableData: [], // 存储表格数据 tableColumns: [ // 表格列定义 { label: '姓名', prop: 'name' }, { label: '年龄', prop: 'age' }, { label: '性别', prop: 'gender' } ] } } ``` 3. 在模板中使用 el-table 和 el-table-column 组件来渲染表格。通过 v-for 指令循环渲染列定义和表格数据。例如: ```html <template> <div> <el-table :data="tableData"> <el-table-column v-for="column in tableColumns" :key="column.prop" :label="column.label" :prop="column.prop"></el-table-column> </el-table> </div> </template> ``` 4. 在 Vue 的生命周期钩子函数(如 mounted)中,通过异步请求或其他方式获取表格数据,并将其赋值给 tableData 属性。例如: ```javascript mounted() { // 发起异步请求获取表格数据 fetchData().then(response => { this.tableData = response.data; }); } ``` 这样,你就可以使用 Element UI 实现动态表格了。根据你的具体需求,你可能还需要处理分页、排序、编辑等功能。Element UI 提供了丰富的 API 和事件供你使用。你可以参考 Element UI 的官方文档和示例来了解更多用法和功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值