js动态拼接数据表格Table

<!DOCTYPE html>
<html lang="zh">
	<head>
		<meta charset="UTF-8">
		<meta name="viewport" content="width=device-width, initial-scale=1.0">
		<meta http-equiv="X-UA-Compatible" content="ie=edge">
		<title></title>
		<link rel="stylesheet" type="text/css" href="https://www.layuicdn.com/layui-v2.5.6/css/layui.css" />
		<script src="https://cdn.bootcdn.net/ajax/libs/layui/2.5.6/layui.all.js"></script>
	</head>
	<body>
		<div class="layui layui-col-md12">
			<table class="layui layui-table">
				<thead>
					<tr>
						<th>序号</th>
						<th>姓名</th>
						<th>性别</th>
						<th>年龄</th>
					</tr>
				</thead>
				<tbody class="tbody">

				</tbody>
			</table>
		</div>

	</body>
</html>
<script>
	var html = ""
	for (var i = 0; i < 10; i++) {
		html += "<tr>" + "<td>" + (i + 1) + "</td>" + "<td>" + '小明' + "</td>" + "<td>" + '男' + "</td>" + "<td>" + 23 +
			"</td>" + "</tr>"
	}
	document.querySelector(".tbody").innerHTML = html;
</script>

效果图

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,这是一个比较常见的前端问题。我可以为您提供一种实现方式,具体如下: 假设我们有一个数组 `data`,包含了表格每一行的数据,每行数据的格式如下: ```javascript const data = [ {id: 1, name: '张三', age: 20}, {id: 2, name: '李四', age: 25}, {id: 3, name: '王五', age: 30} ]; ``` 我们可以通过循环数组,拼接表格HTML 字符串,并给每行数据添加一个点击事件,以便在点击时获取行数据。具体的实现代码如下: ```javascript // 获取表格容器元素 const tableContainer = document.getElementById('table-container'); // 定义表格 HTML 字符串 let tableHtml = '<table>'; tableHtml += '<thead><tr><th>ID</th><th>姓名</th><th>年龄</th><th>操作</th></tr></thead>'; tableHtml += '<tbody>'; for (let i = 0; i < data.length; i++) { const row = data[i]; tableHtml += '<tr>'; tableHtml += `<td>${row.id}</td>`; tableHtml += `<td>${row.name}</td>`; tableHtml += `<td>${row.age}</td>`; tableHtml += `<td><a href="javascript:void(0);" data-index="${i}">详情</a></td>`; tableHtml += '</tr>'; } tableHtml += '</tbody></table>'; // 将表格 HTML 字符串插入到容器元素中 tableContainer.innerHTML = tableHtml; // 给每个详情链接添加点击事件 const detailLinks = tableContainer.querySelectorAll('a[data-index]'); for (let i = 0; i < detailLinks.length; i++) { const link = detailLinks[i]; link.addEventListener('click', () => { const index = parseInt(link.getAttribute('data-index')); const row = data[index]; console.log(row); // 输出行数据 }); } ``` 上面的代码中,我们首先获取表格容器元素 `tableContainer`,然后定义了一个表格 HTML 字符串 `tableHtml`,其中包含了表格的头部和每一行的数据,以及一个详情链接。我们在循环数组时,使用模板字符串拼接出每一行的 HTML 字符串,并使用了 `data-index` 属性存储了行数据在数组中的索引。最后,我们将整个表格HTML 字符串插入到容器元素中,同时给每个详情链接添加了一个点击事件,在点击时获取行数据并输出到控制台中。 希望这个实现方式能够帮助到您!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值