根据split切割字符串渲染数据

141 阅读1分钟

前言

  1. 根据split切割字符串得到字符串组成的数组的特性,我们可以对其进行页面渲染。
  2. 创建空标签:var 新元素=document.createElement("标签名");
  3. 为此标签设置必要的属性和事件
    • 新元素.属性名="属性值";
    • 新元素.on事件名=function(){操作}
  4. 把新元素上DOM树==》父元素.appendChild(新元素);

代码如下:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			table{
				width: 1200px;
				margin: auto;
				text-align: center;
				border: 1px solid #333;
				border-collapse: collapse;
				table-layout: fixed;
			}
			td{
				border: 1px solid #333;
			}
		</style>
	</head>
	<body id="bd">
		<script type="text/javascript">//想要做出表格,这种二维的东西,必然两层循环,外层循环控制行,内层循环控制列
			// 数据
			var str="黄伟~战士~30%@谭小霖~奶妈~90%@赵烨~刺客~10%@李品醇~肉盾~5%@黄伟~战士~30%@谭小霖~奶妈~90%@赵烨~刺客~10%@李品醇~肉盾~5%@黄伟~战士~30%@谭小霖~奶妈~90%@赵烨~刺客~10%@李品醇~肉盾~5%@黄伟~战士~30%@谭小霖~奶妈~90%@赵烨~刺客~10%@李品醇~肉盾~5%@黄伟~战士~30%@谭小霖~奶妈~90%@赵烨~刺客~10%@李品醇~肉盾~5%@黄伟~战士~30%@谭小霖~奶妈~90%@赵烨~刺客~10%@李品醇~肉盾~5%";
			//先创建一个table标签
			var table=document.createElement("table");
			//切割数据得到有几个人
			var peoples=str.split("@");
			// console.log(peoples);
			//有几个人我就遍历此数组,就知道要执行多少次,生成多个tr
			for(var i=0;i<peoples.length;i++){
				var tr=document.createElement("tr");
				//对着这个人的字符串切割~,得到这个人的每一个信息,分开了
				var people=peoples[i].split("~");
				// console.log(people);
				//遍历这个人的每一个信息,没有一个信息,我们就应该生成一个td来保存
				for(var j=0;j<people.length;j++){
					var td=document.createElement("td");
					td.innerHTML=people[j];
					tr.appendChild(td);
				}
				table.appendChild(tr);
			}
			bd.appendChild(table);//只修改DOM树一次,减少DOM渲染,dom渲染次数越多,网站性能越差
		</script>
	</body>
</html>