1

我正在用 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);
4

1 回答 1

0

Remove your outer loop entirely as well as the if. Then you mainly just need this:

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

This will start a new row every 4 records.

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

于 2013-07-24T20:23:30.003 回答