-1

这是我的桌子,

<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>
4

3 回答 3

2

如果您允许使用 jquery,您可以这样做

$('td').prev().after('<td>test</td>');

要使其在特定表上工作,请为您的表提供一个 id 并像这样选择

$('#tableName td').prev().after('<td>test</td>');

JSFiddle

于 2013-10-29T11:46:06.600 回答
0

使用这个你可以创建一个 var td = document.createElement('td');然后附加它。

于 2013-10-29T11:20:15.340 回答
0

您可以使用以下代码:

$('#tablename tr td:nth-child(N)').after('< td> < /td> ')

在这里,N您可以使用 1 、 3 ..etc 等值,具体取决于您td所在行的数量

于 2013-10-29T11:49:28.997 回答