js动态生成html表格

刚在论坛上面逛的时候看到有人问html表格怎么动态生成,我回了一下发现有好多小伙伴追问- - 看来还是有很多人不会的啊,于是决定写个博来解救万千小伙伴于水火之中(mdzz)

首先我们要在html里面有如下代码:

<table>
    <tbody id="tbody1">
    </tbody>
</table>

如果想在table里面加其他的可以随便加(如加一个表头等等),只需要知道等会js动态生成的内容全部会在tbody里面就可以了。

然后需要如下的js来动态生成html:

function creatTable(data){
  //这个函数的参数可以是从后台传过来的也可以是从其他任何地方传过来的
  //这里我假设这个data是一个长度为5的字符串数组 我要把他放在表格的一行里面,分成五列

  var tableData="<tr>"

  //动态增加5个td,并且把data数组的五个值赋给每个td
  for(var i=0;i<data.length;i++){
    tableData+="<td>"+data[i]+"</td>"
  }

  tableData+="</tr>"

  //现在tableData已经生成好了,把他赋值给上面的tbody
  $("#tbody1").html(tableData)
}

上面的那个tableData可以随意加html语言,例如我们给tr设置一下宽度,把var tableData=””改为:

var tableData="<tr style='width:300px'>"

需要注意的是因为我们在给tableData赋值的时候已经用了双引号,所以我们在设置style的时候要全部用单引号,不然就会报错,这个大家应该都知道,就不多说了。

最后就是在页面调用上面写的函数来给表格动态添加数据啦。或者我们也可以让页面在加载的时候就自动给表格动态添加数据:

<script type="text/javascript">
  window.onload()=function () 
  {
    //这个里面复制上面creatTable函数的内容
  }
</script>

呕心沥血写出来的,转载请一定著名出处。

  • 4
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用 JavaScript 中的 DOM 操作来动态生成表格。以下是一个示例代码: ```html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>动态生成表格</title> </head> <body> <button onclick="createTable()">生成表格</button> <div id="tableContainer"></div> <script> // 创建表格 function createTable() { // 获取容器元素 let container = document.getElementById("tableContainer"); // 创建 table 元素 let table = document.createElement("table"); // 创建头 let headerRow = document.createElement("tr"); let header1 = document.createElement("th"); let header2 = document.createElement("th"); header1.innerHTML = "姓名"; header2.innerHTML = "年龄"; headerRow.appendChild(header1); headerRow.appendChild(header2); table.appendChild(headerRow); // 创建数据行 let dataRow1 = document.createElement("tr"); let data1_1 = document.createElement("td"); let data1_2 = document.createElement("td"); data1_1.innerHTML = "张三"; data1_2.innerHTML = "20"; dataRow1.appendChild(data1_1); dataRow1.appendChild(data1_2); table.appendChild(dataRow1); let dataRow2 = document.createElement("tr"); let data2_1 = document.createElement("td"); let data2_2 = document.createElement("td"); data2_1.innerHTML = "李四"; data2_2.innerHTML = "22"; dataRow2.appendChild(data2_1); dataRow2.appendChild(data2_2); table.appendChild(dataRow2); // 将表格添加到容器中 container.appendChild(table); } </script> </body> </html> ``` 这个示例中,当用户点击“生成表格”按钮时,`createTable` 函数会被调用。该函数首先获取一个容器元素(`<div>`),然后创建一个 `<table>` 元素。接着,函数创建头和数据行,并将它们添加到表格中。最后,将表格添加到容器中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值