需求:
1.表格由专业班级学号1-10号同学的信息组成,包括:学号、姓名、性别、二级学院、班级、专业、辅导员;
2.表格的奇数行字体为黑色,底色为白色;偶数行字体为白色,底色为黑色;
3.表格的每一行后有一个删除按钮,点击后会跳出提示弹窗,确认后删除该行的内容,并且删除后上述的颜色规律保持不变:
4.表格的右上方有一个添加按钮,点击后跳出一个表单弹窗,可以填加新的学生的信息。
实现原理:
1.利用table设置表头样式
2.用目标伪类选择器,设置奇数与偶数行的背景色
3.将数据以对象形式存在数组里,创建字符串变量,遍历数组,利用拼接字符串,输入到表格中。
4.给删除按钮绑定点击事件,设置弹窗是否确定删除
5.给提交按钮绑定点击事件,设置多个变量获取输入框的值,通过innerHtml输入表格
代码:
<!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>
<style>
*{
margin: 0;
padding: 0;
}
a{
color: rgb(247, 4, 4);
display: inline-block;
}
table{
margin: 0 auto;
width: 1200px;
}
th{
width: 200px;
height: 50px;
text-align: center;
background-color: #f0f0f0;
border: 1px solid orangered;
}
#fir td{
width: 200px;
height: 30px;
text-align: center;
background-color: rgba(3, 46, 3, 0.558);
border: 1px solid rgb(36, 35, 35);
}
tbody tr:nth-child(2n-1){
width: 200px;
height: 30px;
text-align: center;
background-color: rgb(244, 243, 243);
color: black;
}
tbody tr:nth-child(2n){
width: 200px;
height: 30px;
text-align: center;
background-color: rgb(138, 138, 138);
color: white;
}
h3{
margin-left: 120px;
}
button{
width: 200px;
height: 50px;
}
.mid{
border: 1px solid gray;
padding: 20px;
display: flex;
flex-direction: column;
position: fixed;
top: 25%;
left: 33%;
width: 400px;
padding-left: 100px;
background-color: white;
display: none;
}
.mid input{
width: 200px;
margin-left: 100px;
}
.mid #teach{
margin-left: 85px;
}
.mid button{
margin-top: 20px;
margin-right: 30px;
height: 30px;
}
label{
margin:5px;
}
</style>
</head>
<body>
<table id="tab">
<tr id="fir">
<th class="numb">学号</th>
<th class="name">姓名</th>
<th class="sex">性别</th>
<th class="xue">二级学院</th>
<th class="ba">班级</th>
<th class="zhuan">专业</th>
<th class="dao">辅导员</th>
<th><button id="add">添加</button></th>
</tr>
<tbody class="tbody">
</tbody>
</table>
<div class="mid">
<h3>新增人员信息</h3>
<label for="">学号<input id="numb" type="text"></label>
<label for="">姓名<input id="name" type="text"></label>
<label for=""> 性别<input id="sex" type="text"></label>
<label for="">学院<input id="xue" type="text" ></label>
<label for="">班级<input id="ban" type="text"></label>
<label for="">专业<input id="zhuan" type="text"></label>
<label for="">辅导员<input id="dao" type="text"></label>
<div id="midBtn">
<button id="btnLeft">提交</button>
<button id="btnRight">取消</button>
</div>
</div>
<script>
window.onload=function(){
var str=[
{"numb":1,
"name":"丁真",
"sex":"男",
"xue":"锐克",
"ban":"1",
"zhuan":"smoke",
"dao":"刀哥",
"btn":"删除"
},
{"numb":2,
"name":"丁真",
"sex":"男",
"xue":"锐克",
"ban":"1",
"zhuan":"smoke",
"dao":"刀哥",
"btn":"删除"
},
{"numb":3,
"name":"丁真",
"sex":"男",
"xue":"锐克",
"ban":"1",
"zhuan":"smoke",
"dao":"刀哥",
"btn":"删除"
},
{"numb":4,
"name":"丁真",
"sex":"男",
"xue":"锐克",
"ban":"1",
"zhuan":"smoke",
"dao":"刀哥",
"btn":"删除"
},
{"numb":5,
"name":"丁真",
"sex":"男",
"xue":"锐克",
"ban":"1",
"zhuan":"smoke",
"dao":"刀哥",
"btn":"删除"
},
{"numb":6,
"name":"丁真",
"sex":"男",
"xue":"锐克",
"ban":"1",
"zhuan":"smoke",
"dao":"刀哥",
"btn":"删除"
},
{"numb":7,
"name":"丁真",
"sex":"男",
"xue":"锐克",
"ban":"1",
"zhuan":"smoke",
"dao":"刀哥",
"btn":"删除"
},
{"numb":8,
"name":"丁真",
"sex":"男",
"xue":"锐克",
"ban":"1",
"zhuan":"smoke",
"dao":"刀哥",
"btn":"删除"
},
{"numb":9,
"name":"丁真",
"sex":"男",
"xue":"锐克",
"ban":"1",
"zhuan":"smoke",
"dao":"刀哥",
"btn":"删除"
},
{"numb":10,
"name":"丁真",
"sex":"男",
"xue":"锐克",
"ban":"1",
"zhuan":"smoke",
"dao":"刀哥",
"btn":"删除"
},
]
var tbod=document.querySelector(".tbody")
var html = ""
for (var i = 0; i < str.length; i++) {
html += "<tr>" + "<td>" + str[i].numb + "</td>"
+ "<td>" + str[i].name + "</td>"
+ "<td>" + str[i].sex +"</td>"
+ "<td>" + str[i].xue + "</td>"
+ "<td>" + str[i].ban + "</td>"
+ "<td>" + str[i].zhuan + "</td>"
+ "<td>" + str[i].dao + "</td>"
+ "<td>" + "<a href='#'>"+ str[i].btn +"</a>" + "</td>" + "</tr>"
}
tbod.innerHTML = html;
var midd=document.querySelector(".mid")
var addd=document.getElementById("add")
addd.addEventListener("click",function(){
midd.style.display="block"
midd.style.display="flex"
var input=document.querySelectorAll("input")
for(m=0;m<input.length;m++){
input[m].value=" "
}
})
var btnLeft=document.querySelector("#btnLeft")
btnLeft.onclick=function(){
midd.style.display="none"
var tab=document.getElementById("tab")
var addNumb=document.getElementById("numb").value
var addName=document.getElementById("name").value
var addSex=document.getElementById("sex").value
var addXue=document.getElementById("xue").value
var addBan=document.getElementById("ban").value
var addZhuan=document.getElementById("zhuan").value
var addDao=document.getElementById("dao").value
var addTrValue=tbod.insertRow()
addTrValue.innerHTML="<td>" + addNumb + "</td>"
+ "<td>" + addName + "</td>"
+ "<td>" + addSex +"</td>"
+ "<td>" + addXue + "</td>"
+ "<td>" + addBan + "</td>"
+ "<td>" + addZhuan + "</td>"
+ "<td>" + addDao + "</td>"
+ "<td>" + "<a href='#'>"+ "删除" +"</a>" + "</td>"
}
var btnRight=document.querySelector("#btnRight")
btnRight.onclick=function(){
midd.style.display="none"
}
var Del=document.getElementsByTagName("a")
for(let i=0;i<Del.length;i++){
Del[i].onclick=function(){
var conf=confirm("确定要删除吗")
if(conf){
var delTd=Del[i].parentNode
var delTr=delTd.parentNode
delTd.style.backgroundColor="red"
delTr.parentNode.removeChild(delTr)
}
else{
return
}
}
}
}
</script>
</body>
</html>
效果:
QQ录屏20230117230135