javascript如何在每个第四个单元格中添加一行?

时间:2013-07-24 18:43:44

标签: javascript for-loop html-table

我正在用javascript创建一个表。我希望我的表在一行中有4个单元格,因此第5个单元格将在新行中。

如果我在单元格上显示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);

1 个答案:

答案 0 :(得分:0)

完全删除外环以及if。然后你主要需要这个:

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

这将每4条记录开始一个新行。

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