用JS怎样实现简单的动态表格效果?
Admin 2021-09-03 群英技术资讯 515 次浏览
这篇文章主要给大家分享用JS实现动态表格效果,也就是点击增加或者删除就可以自动增加或删除表格的行,小编觉得还是比较实用的,感兴趣的朋友可以参考一下,希望大家阅读完这篇文章能有所收获,下面我们一起来学习一下吧。
代码:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>动态表格</title> <style> .bigDiv{ width: 600px; margin: 50px auto; } table{ border: solid black 2px; width: 500px; /*边框会合并为一个单一的边框*/ border-collapse: collapse; } th{ background-color: darkgray; /*表头字体加粗*/ font-weight: bold; /*字体颜色 #ffffff:白色*/ color: #ffffff; } th,td{ border: 1px solid black ; /*指定的宽度和高度的行为。指定元素的宽度和高度(最小/最大属性)适用于box的宽度和高度*/ box-sizing: content-box; text-align: center; /*指定宽高*/ width: 50px; height: 30px; font-size: 14px; } .but{ width: 150px; margin: 5px 400px; /*让所有弹性盒模型对象的子元素都有相同的长度,且忽略它们内部的内容*/ display: flex; /*在弹性盒对象的 <div> 元素中的各项周围留有空白*/ justify-content: flex-end; } </style> </head> <body> <div class="bigDiv"> <table align="center"> <thead> <tr> <th>序号</th> <th>姓名</th> <th>年龄</th> <th>性别</th> <th>联系电话</th> </tr> </thead> <tbody> <tr> <td>1</td> <td>逍遥</td> <td>18</td> <td>男</td> <td>12354546</td> </tr> <tr> <td>2</td> <td>小白</td> <td>19</td> <td>女</td> <td>252323523</td> </tr> </tbody> </table> <div class="but"> <button type="button" onclick="addRow()">添加一行</button> <button type="button" onclick="saveData()">保存数据</button> </div> </div> <script> var id; var name; var age; var sex; var phone; var tdArr=new Array(); function addRow() { let tbodyObj = document.getElementsByTagName("tbody")[0]; let trObj = document.createElement("tr"); tbodyObj.appendChild(trObj); //创建5个td for (let i = 0; i < 5; i++) { let tdObj = document.createElement("td"); trObj.appendChild(tdObj); //创建input输入框对象 let inputObj = document.createElement("input"); //设置input对象的id属性 inputObj.setAttribute("id",i); //为每一个输入框添加一个失去焦点事件 inputObj.addEventListener("blur",function () { switch (this.id) { case "0": id=this.value; break; case "1": name=this.value; break; case "2": age=this.value; break; case "3": sex=this.value; break; case "4": phone=this.value; break; } }); //隐藏未点击输入时的input边框 inputObj.style.border="0"; //隐藏点击输入时的边框 inputObj.style.outline="none"; //设置输入框宽度 inputObj.style.width="80px"; //设置输入框高度 inputObj.style.height="25px"; //设置输入框的外边距为0 inputObj.style.margin="0"; //将td添加 tdObj.appendChild(inputObj); //将tdObj添加到tdArr中 tdArr.push(tdObj); } } function saveData() { tdArr[0].innerHTML=id; tdArr[1].innerHTML=name; tdArr[2].innerHTML=age; tdArr[3].innerHTML=sex; tdArr[4].innerHTML=phone; tdArr.length=0; } </script> </body> </html>
关于js实现动态表格就介绍到这,上述代码仅供参考,感兴趣的朋友可以借鉴学习,希望能对大家有帮助,想要了解更多大家可以关注群英网络其它相关文章。
文本转载自脚本之家
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
开发今天给我提了一个sql编辑器输入框比较小,不支持放大,不太方便,下面看下我的处理方法,本文基于React+antd,给大家演示一个完整的全屏demo,感兴趣的朋友一起看看吧
本文给大家介绍vue3组合API中setup、 ref、reactive的用法,初步了解reactive的使用及具体用法,通过示例代码给大家介绍的非常详细,需要的朋友参考下吧
1、安装socket.ionpminstallsocket.io2、创建服务端代码server.jsvarapp=require('http').createServer(handler),io=require('socket.io').listen(app),fs=require('fs')app.listen(8080);io.set
本篇文章给大家带来了关于JavaScript的相关知识,其中主要整理了日期对象Date的相关问题,包括了Date对象的创建、Date对象的方法等等内容,下面一起来看一下,希望对大家有帮助。
这篇文章主要介绍了在JavaScript中查找字符串中最长单词的三种方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008