我想在表格的th
元素的tr
内插入thead
标记。我正在使用insertCell
下创建的行对象的table.tHead
方法,该方法实际上是插入td
。有没有使用任何JS库的JavaScript解决方案?
更新
目前,我使用的内容与Minko Gechev和gaurav提供的解决方案相同。我想知道是否有任何干净的解决方案,比如使用insertCell
?
答案 0 :(得分:21)
您也可以按原始请求使用insertCell方法。您只需更改outerHTML以覆盖insertCell方法创建的<td>
:
var table = document.createElement("TABLE")
var row = table.insertRow(0);
row.insertCell(0).outerHTML = "<th>First</th>"; // rather than innerHTML
匹配给出的例子:
<强> HTML 强>
<table id="table">
<thead>
<tr>
<th>First</th>
</tr>
<thead>
</table>
<强>的Javascript 强>
var tr = document.getElementById('table').tHead.children[0];
tr.insertCell(1).outerHTML = "<th>Second</th>" // some browsers require the index parm -- 1
答案 1 :(得分:13)
你可以用vanilla JavaScript做到这一点。试试这个:
<强> HTML 强>
<table id="table">
<thead>
<tr>
<th>First</th>
</tr>
<thead>
</table>
<强>的JavaScript 强>
var tr = document.getElementById('table').tHead.children[0],
th = document.createElement('th');
th.innerHTML = "Second";
tr.appendChild(th);
的示例
答案 2 :(得分:7)
请改用table.tHead.children[0].appendChild(document.createElement("th"))
方法。基本上你必须在运行时创建一个th
并将其插入你的thead。