使用JavaScript如何在现有的行之间插入空白标签?

时间:2013-10-29 11:13:30

标签: javascript

这是我的表,

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

3 个答案:

答案 0 :(得分:2)

如果您允许使用jquery,则可以执行此操作

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

要使这个工作在特定的表上,给你的表一个id并选择这样

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

JSFiddle

答案 1 :(得分:0)

使用此功能,您可以创建var td = document.createElement('td');然后附加它。

答案 2 :(得分:0)

您可以使用以下代码:

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

对于N,您可以使用1,3等等值,具体取决于您行中td的数量