这是我的表,
<tr>
<td>One</td>
<td>Two</td>
<td>Three</td>
<td>Four</td>
</tr>
使用JavaScript我需要在现有列之间插入<TD>
,例如
<tr>
<td>One</td>
<td></td>
<td>Two</td>
<td></td>
<td>Three</td>
<td></td>
<td>Four</td>
</tr>
我正在使用以下代码,
var trNodes = tBody.getElementsByTagName("TR");
var tRows, tColumns, i = 0, columnLength;
columnLengh = trNodes.length;
while (tRows = trNodes[i++]) {
var tD = document.createElement('TD');
tColumns = tRows.getElementsByTagName('TD');
columnLength = tColumns.length;
if (columnLength >= 2) {
for (var iCol = 0; iCol < tColumns.length; iCol++) {
tColumns[iCol].parentNode.insertBefore(tD, tColumns[iCol].nextSibling);
}
}
}
它在最后创建节点但不在中间创建节点,如下所述:(
<tr>
<td>One</td>
<td>Two</td>
<td>Three</td>
<td></td><td></td><td></td>
<td>Four</td>
</tr>
答案 0 :(得分:2)
如果您允许使用jquery,则可以执行此操作
$('td').prev().after('<td>test</td>');
要使这个工作在特定的表上,给你的表一个id并选择这样
$('#tableName td').prev().after('<td>test</td>');
答案 1 :(得分:0)
使用此功能,您可以创建var td = document.createElement('td');
然后附加它。
答案 2 :(得分:0)
您可以使用以下代码:
$('#tablename tr td:nth-child(N)').after('< td> < /td> ')
对于N
,您可以使用1,3等等值,具体取决于您行中td
的数量