在thead中插入

Moa*_*han 25 javascript html-table

我想在表的元素th内插入一个标记.我正在使用创建的行对象的方法,实际插入.有没有使用任何JS库的JavaScript解决方案?trtheadinsertCelltable.tHeadtd

更新 目前我正在使用与Minko Gechevgaurav提供的解决方案相同的东西.我想知道是否有任何干净的解决方案,如使用insertCell

小智 24

您还可以按原始请求使用insertCell方法.您只需更改outerHTML以覆盖<td>insertCell方法创建的内容:

var table = document.createElement("TABLE")
var row   = table.insertRow(0);
    row.insertCell(0).outerHTML = "<th>First</th>";  // rather than innerHTML
Run Code Online (Sandbox Code Playgroud)

为了匹配给出的例子:

HTML

<table id="table">
  <thead>
    <tr>
      <th>First</th>
    </tr>
  <thead>
</table>
Run Code Online (Sandbox Code Playgroud)

使用Javascript

var tr = document.getElementById('table').tHead.children[0];
    tr.insertCell(1).outerHTML = "<th>Second</th>"  // some browsers require the index parm -- 1
Run Code Online (Sandbox Code Playgroud)


Min*_*hev 16

你可以用vanilla JavaScript做到这一点.试试这个:

HTML

<table id="table">
  <thead>
    <tr>
      <th>First</th>
    </tr>
  <thead>
</table>
Run Code Online (Sandbox Code Playgroud)

JavaScript的

var tr = document.getElementById('table').tHead.children[0],
    th = document.createElement('th');
th.innerHTML = "Second";
tr.appendChild(th);
Run Code Online (Sandbox Code Playgroud)

这是一个例子http://codepen.io/anon/pen/Bgwuf

  • 因为“th”被添加到“tr”,而不是“thead”。 (2认同)

Gau*_*dey 7

改用table.tHead.children[0].appendChild(document.createElement("th"))方法.基本上你必须th在运行时创建一个并将其插入你的thead中.