用JS怎样实现简单的动态表格效果?
Admin 2021-09-03 群英技术资讯 1187 次浏览
这篇文章主要给大家分享用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进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
首先到nodejs的官网安装nodejs,地址nodejs.org,网站第一页会根据你的电脑系统推荐你适合的版本,下载,不断next,在cmd中输入node-v可以看到版本的话,即安装成功。说到js,大家一定头痛的就是导入众多js代码,不可避免的函数冲突问题,nodejs的一个好处就是各个函数之间相互独立,不会冲突。nodejs:url.parseurl.formaturl.res
Vue 最独特的特性之一,是其非侵入性的响应式系统。下面这篇文章主要给大家介绍了关于vue响应式原理与双向数据的相关资料,需要的朋友可以参考下
今天给大家分享的是关于基于jQuery封装的拖拽事件,下文有详细的代码及注释,对大家学习和理解封装以及拖拽事件都有一定的帮助,有需要的朋友可以参考。
本篇文章给大家介绍一下React Hook中的useEffecfa函数,聊聊useEffecfa函数的使用细节,希望对大家有所帮助!
Vue-router是Vue官方的路由插件,本文将结合实例代码,介绍Vue-cli4路由配置,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008