JSON设置table中的tbody

本文介绍了一个使用JavaScript实现的动态表格填充方法,通过按钮点击事件,从预设的数据集中获取员工信息,并将其展示在HTML表格中。同时,展示了如何在表格下方实时更新记录总数。
<script type="text/javascript">
			var data = {
				"total":4,
				"emps":[
					{"eno":"1","ename":"zs","sal":"10"},
					{"eno":"2","ename":"ls","sal":"10"},
					{"eno":"3","ename":"ww","sal":"10"}
				]
			}
			
			window.onload = function(){
				var button1Elet = document.getElementById("button1");
				button1Elet.onclick = function(){
					tbody1String = "";
					for(var i=0; i<data.emps.length; i++){
						tbody1String += "<tr>";
						tbody1String += "<td>" + data.emps[i].eno + "</td>";
						tbody1String += "<td>" + data.emps[i].ename + "</td>";
						tbody1String += "<td>" + data.emps[i].sal + "</td>";
						tbody1String += "</tr>";
					}
					document.getElementById("tbody1").innerHTML = tbody1String;
					document.getElementById("span1").innerText = "总共" +data.total+ "条记录。";
				}
			}
</script>
<body>
	<input type="button" id="button1" value="显示员工的信息" />
	<hr >
	<table border="1px" width="50%" id="table1">
		<tr>
			<td>员工编号</td>
			<td>员工名字</td>
			<td>员工薪水</td>
		</tr>
		<tbody id="tbody1">
		</tbody>
	</table>
	<span id="span1"></span>
</body>
要解析 HTML 中嵌入的 JSON 数据并将其以表格形式展示,可以按照以下步骤进行操作。假设 JSON 数据是直接嵌入在 HTML 页面中的,例如通过 `<script>` 标签存储。 ### 1. 嵌入 JSON 数据 在 HTML 页面中,可以通过 `<script>` 标签嵌入 JSON 数据。例如: ```html <script id="jsonData" type="application/json"> [ { "userName": "张三", "age": 25, "phoneNum": "1234567890", "address": "北京市" }, { "userName": "李四", "age": 30, "phoneNum": "0987654321", "address": "上海市" } ] </script> ``` ### 2. 解析 JSON 数据 使用 JavaScript 读取 `<script>` 标签中的 JSON 数据,并将其解析为 JavaScript 对象。 ```javascript // 获取嵌入的 JSON 数据 const jsonScript = document.getElementById('jsonData'); const jsonData = JSON.parse(jsonScript.textContent); ``` ### 3. 动态生成表格 根据解析后的 JSON 数据,动态生成 HTML 表格并将其插入到页面中。 ```javascript // 创建表格 const table = document.createElement('table'); table.border = "1"; // 创建表头 const thead = document.createElement('thead'); const headerRow = document.createElement('tr'); Object.keys(jsonData[0]).forEach(key => { const th = document.createElement('th'); th.textContent = key; headerRow.appendChild(th); }); thead.appendChild(headerRow); table.appendChild(thead); // 创建表格内容 const tbody = document.createElement('tbody'); jsonData.forEach(item => { const row = document.createElement('tr'); Object.values(item).forEach(value => { const td = document.createElement('td'); td.textContent = value; row.appendChild(td); }); tbody.appendChild(row); }); table.appendChild(tbody); // 将表格插入到页面中 document.body.appendChild(table); ``` ### 4. 完整示例 以下是完整的 HTML 示例代码,包括嵌入的 JSON 数据和 JavaScript 脚本: ```html <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8"> <title>解析 JSON 数据并显示为表格</title> </head> <body> <script id="jsonData" type="application/json"> [ { "userName": "张三", "age": 25, "phoneNum": "1234567890", "address": "北京市" }, { "userName": "李四", "age": 30, "phoneNum": "0987654321", "address": "上海市" } ] </script> <script> // 获取嵌入的 JSON 数据 const jsonScript = document.getElementById('jsonData'); const jsonData = JSON.parse(jsonScript.textContent); // 创建表格 const table = document.createElement('table'); table.border = "1"; // 创建表头 const thead = document.createElement('thead'); const headerRow = document.createElement('tr'); Object.keys(jsonData[0]).forEach(key => { const th = document.createElement('th'); th.textContent = key; headerRow.appendChild(th); }); thead.appendChild(headerRow); table.appendChild(thead); // 创建表格内容 const tbody = document.createElement('tbody'); jsonData.forEach(item => { const row = document.createElement('tr'); Object.values(item).forEach(value => { const td = document.createElement('td'); td.textContent = value; row.appendChild(td); }); tbody.appendChild(row); }); table.appendChild(tbody); // 将表格插入到页面中 document.body.appendChild(table); </script> </body> </html> ``` ### 总结 通过上述步骤,可以轻松地解析 HTML 中嵌入的 JSON 数据,并将其以表格形式展示在网页上。这种方法适用于需要动态加载和展示数据的场景,确保数据的实时更新和展示[^1]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值