JS动态生成表格

  1. <script type="text/javascript">   
  2.         //全局变量   
  3.         var i=0;   
  4.         //添加行   
  5.         function addMyRow(){   
  6.             var mytable = document.getElementById("mybody");   
  7.             var mytr = mytable.insertRow();   
  8.              mytr.setAttribute("id","tr"+i);   
  9.             var mytd_1=mytr.insertCell();   
  10.             var mytd_2=mytr.insertCell();   
  11.             var mytd_3=mytr.insertCell();   
  12.             var mytd_4=mytr.insertCell();   
  13.             var mytd_5=mytr.insertCell();   
  14.              mytd_1.innerHTML="<input type='text' name='myname"+i+"'/>";   
  15.              mytd_2.innerHTML="<input type='radio' name='mysex"+i+"' value='1'/>男<input type='radio' name='mysex"+i+"' value='2'/>女";   
  16.              mytd_3.innerHTML="<input type='checkbox' name='mylove"+i+"' value='1'/>上网<input type='checkbox' name='mylove"+i+"' value='2'/>篮球<input type='checkbox' name='mylove"+i+"' value='3'/>游泳";   
  17.              mytd_4.innerHTML="<select name='myjg"+i+"'><option value='1'>北京</option><option value='2'>河北</option><option value='3'>天津</option></select>";   
  18.              mytd_5.innerHTML="<input type='button' value='删除' οnclick=/"delMyRow('"+i+"')/"/>";   
  19.              i++;   
  20.          }   
  21.         //删除当前行   
  22.         function delMyRow(j){   
  23.             var mytable = document.getElementById("mybody");   
  24.             var myrow = document.getElementById("tr"+j);   
  25.              mytable.deleteRow(myrow.rowIndex-1);   
  26.          }   
  27.         //删除所有行   
  28.         function delAllMyRow(){   
  29.             var mytable = document.getElementById("mybody");   
  30.             var rowlen=mytable.rows.length;   
  31.             for(var i=rowlen-1;i>=0;i--){   
  32.                  mytable.deleteRow(i);   
  33.              }   
  34.          }   
  35.          </script>  
  1. <input type="button" value="添加" onclick="addMyRow();"><input type="button" value="删除所有" onclick="delAllMyRow();">  
  2.         <table border="1">  
  3.             <thead>  
  4.                 <tr bgcolor="red">  
  5.                     <td align="center">  
  6.                          姓名   
  7.                     </td>  
  8.                     <td align="center">  
  9.                          性别   
  10.                     </td>  
  11.                     <td align="center">  
  12.                          爱好   
  13.                     </td>  
  14.                     <td align="center">  
  15.                          籍贯   
  16.                     </td>  
  17.                     <td align="center">  
  18.                          操作   
  19.                     </td>  
  20.                 </tr>  
  21.             </thead>  
  22.             <tbody id="mybody">  
  23.                
  24.             </tbody>  
  25.         </table>  

JavaScript动态生成表格可以通过DOM操作来实现。以下是一些基本的步骤: 1. 首先创建一个table元素,并设置其属性(如id、border等)。 2. 创建thead元素和tbody元素,并添加到table中。 3. 创建tr元素作为thead中的一行,并创建th元素作为每列的标题。将th元素添加到tr中,再将tr添加到thead中。 4. 使用for循环或其他方法遍历数据,创建每个数据行,创建td元素用于每列数据。将td元素添加到tr中,再将tr添加到tbody中。 5. 将tbody添加到table中。 6. 最后将table元素添加到DOM中。 以下是一个简单的示例代码: ``` // 创建table元素 var table = document.createElement("table"); table.setAttribute("id", "myTable"); table.setAttribute("border", "1"); // 创建thead元素和tbody元素 var thead = document.createElement("thead"); var tbody = document.createElement("tbody"); // 创建thead中的一行 var tr = document.createElement("tr"); var th1 = document.createElement("th"); var th2 = document.createElement("th"); var th3 = document.createElement("th"); th1.innerHTML = "姓名"; th2.innerHTML = "年龄"; th3.innerHTML = "性别"; tr.appendChild(th1); tr.appendChild(th2); tr.appendChild(th3); thead.appendChild(tr); // 遍历数据,创建每个数据行 for (var i = 0; i < data.length; i++) { var tr = document.createElement("tr"); var td1 = document.createElement("td"); var td2 = document.createElement("td"); var td3 = document.createElement("td"); td1.innerHTML = data[i].name; td2.innerHTML = data[i].age; td3.innerHTML = data[i].sex; tr.appendChild(td1); tr.appendChild(td2); tr.appendChild(td3); tbody.appendChild(tr); } // 将thead和tbody添加到tabletable.appendChild(thead); table.appendChild(tbody); // 将table添加到DOM中 document.body.appendChild(table); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值