2013-10-29 63 views
-1

這裏是我的表,使用JavaScript如何在行的現有<TD>之間插入空白<TD>標記?

<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

你是什麼企圖迄今? –

+0

'insertBefore()'方法不是你想要的嗎? – Barmar

+0

btoueg - 立即檢查。 – user2729272

回答

2

如果您允許使用jQuery的你可以這樣做

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

爲了得到這個對特定表的工作給你的表的ID,然後選擇喜歡這個

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

JSFiddle

+0

最後有一個'td'太多了,它需要jQuery。 –

+0

@btoueg固定 - 當然你的權利在Jquery上,就像我自己所說的那樣 –

+0

Morten Anderson - 工作很好。但是,它應該僅適用於HTML中的特定表格而非全部。 – user2729272

0

使用此可以創建一個var td = document.createElement('td');然後附加它。

0

您可以使用下面的代碼:

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

這裏N您可以使用值,如1,3 ..等根據您的td目前的數量排的

相關問題