天天看点

JS :添加 渲染 删除 案例思路:

思路:

1.获取DOM 元素 

2.声明全局变量arr, 用于存储

3.调用函数

4,按钮产生事件

5,字面量创建

6.arr.push() 插入成功

7.function 进行渲染

8.创建一个 空字符,进行for循环;进行赋值,将拼接好的字符串,传入到table 中

9,运用函数删除,及全部删除即可

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style type="text/css">
			.box>div{
				margin: 20px;
			}
			table{
				width: 80%;
				text-align: center;
				border-collapse: collapse;
			}
			tr>th,tr>td{
				border: solid 1px;
			}
			.btn{
				width: 220px;
				text-align: right;
			}
		</style>
	</head>
	<body>
		<div class="box">
		<div>
			<label>
				 姓名:<input type="text" class="username">
			</label>
		</div>
			<div>
				<label>
					年龄:<input type="text" class="age">
				</label>
			</div>
		<div>
			<label>
				性别:<input type="text" class="sex">
			</label>
		</div>
		<div>
			<label>
				标识:<input type="text" class="idCard">
			</label>
		</div>
		<div class="btn">
			<button type="button">添加</button>
			<button type="button">全部删除</button>
			</div>
			<div>
				<table>
					<thead>
						<tr>
							<th>姓名</th>
							<th>年龄</th>
							<th>性别</th>
							<th>id</th>
							<th>操作</th>
						</tr>
					</thead>
					<tbody>
						<!-- <tr>
							<td>张三</td>
							<td>118</td>
							<td>男</td>
							<td>1</td>
						</tr> -->
					</tbody>
				</table>
			</div>
		</div>
		
		<script type="text/javascript">
			//1.获取dom元素
			var username=document.querySelector(".username")
			var age=document.querySelector(".age")
			var sex=document.querySelector(".sex")
			var id=document.querySelector(".idCard")
			var tbody=document.querySelector('tbody')
			var btn=document.querySelectorAll("button")
			
			//2.声明全局的arr,用于数组的存储
			var arr=[
				{name:"张三",age:"90",sex:"18",id:"1"},
				{name:"王五",age:"90",sex:"18",id:"2"},
				{name:"李四",age:"90",sex:"18",id:"3"}
			]
			
			//调用渲染函数:在页面初始化完成后(防止arr数据的数组
			showArr()
			
			//添加事件
			btn[0].onclick=function(){
				//获取输入的内容
				//console.log(username.value+age.value+sex.value+id.value)
				
				//字面量创建对象,直接赋值
				var obj={
					name:username.value,
					age:age.value,
					sex:sex.value,
					id:id.value
				}
				//将成组的数组存储到数组当中
				arr.push(obj)
				console.log(arr)
				//添加数组成功,数组发生改变,重新渲染页面
				showArr()
			}
			
			//渲染
			function showArr(){
				//创建str,拼接循环内的数据
				var str=''
				//循环处理数据
				for(var i=0;i<arr.length;i++){
					//赋值方便后续操作
					var obj=arr[i]
					//将每一数据当中的属性值拼接成字符串,拼接完成后,插入到table中
					str+=`
					<tr>
					<td>${obj.name}</td>
					<td>${obj.age}</td>
					<td>${obj.sex}</td>
					<td>${obj.id}</td>
					<td><button type="button" onclick='delData(${obj.id})'>删除</button></td>
					</tr>`
				}
				//将拼接好的str插入到tbody中
				tbody.innerHTML=str
			}
			
			//删除
			function delData(id){
				for(var i=0;i<arr.length;i++){
					if(arr[i].id==id){
						arr.splice(i,1)
					}
					//数组发生改变,重新渲染页面
					showArr()
				}
			}
			//全部删除
			btn[1].onclick=function(){
				arr=[]
				showArr()
			}
		</script>
	</body>
</html>
           

继续阅读