JS动态表格

JS动态表格

思路:
1、需要分别渲染头部和内容;
2、头部只需一个tr即可,td则是具体json中的属性,一层for循环即可;
3、内容则需要两层for循环,第一层是json里面对象的个数(也就是行数td),第二层for循环是td;
4、使用到DOM中的创建节点、追加节点和删除节点方法。

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>动态表格</title>
<style>
	table{
		width:500px;
		margin:50px auto;
		border:1px solid #000;
		border-collapse:collapse;
	}
	thead{
		text-align:center;
	}
	table tr{
		height:40px;
		background-color:orange;
	}
	table td{
		padding:0 10px;
	}
	table a{
		float:rigth;
	}
</style>
</head>
<body>
	<table cellpadding="0" cellspacing="0">
		<thead></thead>
		<tbody></tbody>
	</table>
	<script>
		var fiels=["姓名","类别","分数","操作","暂无"];
		var dates={
			"head":{
				"date":"20200130",
				"temp":"just"
			},
			"body":[
				{
					name:'张丽',
					type:'javaScript',
					score:'84'
				},
				{
					name:'小智',
					type:'Java',
					score:'94'
				},
				{
					name:'叶子楣',
					type:'C语言',
					score:'99'
				},
				{
					name:'胡浩',
					type:'PHP',
					score:'38'
				}
			]
		};
		//渲染head属性
		var thead=document.querySelector('thead');
		var head_rs=document.createElement('tr');
		thead.appendChild(head_rs);
		for(var k=0;k<fiels.length;k++){
			var head_td=document.createElement('td');
			head_td.innerHTML=fiels[k];
			head_rs.appendChild(head_td);
		}
		
		//渲染body中的数据
		var tbodys=document.querySelector('tbody');
		for(var i=0;i<dates["body"].length;i++){
			var trs=document.createElement('tr');
			tbodys.appendChild(trs);
			for(var j in dates["body"][i]){
				var tds=document.createElement('td');
				tds.innerHTML=dates["body"][i][j];
				trs.appendChild(tds);
			}
			var td=document.createElement('td');
			td.innerHTML='<a href="javascript:;">删除</a>';
			trs.appendChild(td);
		}
		
		//获取所有a元素
		var as=document.querySelectorAll('a');
		//循环注册点击事件
		for(var k=0;k<as.length;k++){
			as[k].onclick=function(){
				tbodys.removeChild(this.parentNode.parentNode);
			}
		}
	</script>
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值