javascript动态生成table

javascript动态生成Table是在迫不得以的情况下使用。因为表格会耗费大量的时间进行重绘。 而且如果窗口变化了,还会引起意想不到的格式变化。所以最好不要使用。

先在<form>中添加一个<div id='divTable'></div>下面就可以使用javascript代码来做这个事情:

function  createTable(divName)

{

    
var div = document.getElementById(divName);
    
var table = document.createElement("table");//创建table
    var row = table.insertRow();//创建一行
    var cell = table.insertCell();//创建一个单元
    cell.width = "10";//更改cell的各种属性
    cell.style.backgroundColor = "#999999";
}

 

你还可以发挥下想象力动态地创建各种各样的控件。上面的function是放置JS文件中的。

如果在html中的调用<script type="..." src="*.js"></script>

这里是创建了一个Table的元素,但是还没有加载到div层中去。

这里最好不使用div.innerHTML也不要使用div.innerText

要使用div.appendChild(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、付费专栏及课程。

余额充值