2013-07-24 62 views
1

我用javascript創建了一個表格。我希望我的表在一行中有4個單元格,所以第5個單元格將在新的一行中。javascript如何爲每個第四個單元添加一行?

如果我有10個對象顯示在單元格上,我會有2個完整的行和1行只有2個單元格。

這是我的代碼。任何想法??

var a = { style: ["1","2","3","4", "5","6"]}; 

var oldTable = document.getElementById('example'), 
newTable = oldTable.cloneNode(); 

var b = a.style.length; 
for (var i= 0; i <= 4; i++){ 
    if (b >= 4) { 
    var tr = document.createElement('tr'); 

     var k = ""; 
    for(var j = 0; j < b; j++) { 
     var td = document.createElement('td'); 
     var div = document.createElement('div'); 
     div.style.width="175px"; 
     div.style.height="250px"; 

     div.appendChild(document.createTextNode(a.style[k++])); 
     td.appendChild(div); 
     tr.appendChild(td); 
      } 
    } 
newTable.appendChild(tr); 
} 
oldTable.parentNode.replaceChild(newTable, oldTable); 
+2

什麼是錯誤或問題?即這是如何打破的? – jsalonen

+0

這隻會複製第一個單元格並且具有6個單元格而不是添加新行... – wisleans

+0

您是否知道您缺少一個'}'?嘗試正確縮進您的代碼 - 之後,更容易發現! – jsalonen

回答

0

完全除去你的外環以及if。那麼你主要只是需要這個:

if(j%4 == 0 && j != 0){ 
    newTable.appendChild(tr); 
    tr = document.createElement('tr');   
} 

這將開始每4記錄一個新行。

http://jsfiddle.net/X5g2p/1/

+0

很棒!謝謝! – wisleans

+0

還有一個問題!這會在一行下創建行。有沒有辦法解決這個問題? – wisleans

+0

我不確定你的行是什麼意思。我做了一些小改動以避免創建第一個空行。 –

相關問題