使用Javascript在表中创建行-添加太多单元格…>

使用Javascript在表中创建行-添加太多单元格…>,javascript,html-table,Javascript,Html Table,我正在尝试动态创建一个表。。。它几乎可以工作,但我对它添加的单元格数量有一个问题 我的表从周一到周五共有8列,最后加上一个总列 这里是它的小提琴: 如您所见,在第1行中,它将8列添加3次,然后在第2行中添加两次列,并且仅在最后一行中添加8列 我怀疑这是因为我使用.append来添加行,如fiddle中的第105行所示,但我的Javascript非常有限,我不完全确定如何停止将列添加到第1行和第2行 $("#timesheetTable > tbody").append('<tr id

我正在尝试动态创建一个表。。。它几乎可以工作,但我对它添加的单元格数量有一个问题

我的表从周一到周五共有8列,最后加上一个总列

这里是它的小提琴:

如您所见,在第1行中,它将8列添加3次,然后在第2行中添加两次列,并且仅在最后一行中添加8列

我怀疑这是因为我使用.append来添加行,如fiddle中的第105行所示,但我的Javascript非常有限,我不完全确定如何停止将列添加到第1行和第2行

$("#timesheetTable > tbody").append('<tr id="' + sourceTableRowID + '" data-tt-id="' + sourceTableRowID + '" class="timesheetRow row' + rowIndex2 + '"></tr>');
当它循环通过rowIndex2并递增时,如何使其仅将单元格td添加到下一行


有人能给我指一下正确的方向吗?

你在一个循环中有一个循环,这导致了额外的单元格。这里有一个更新的;下面是修改后代码的摘录:

function createSampleRows() {
    var sourceTable = document.getElementById('activityTable');
    var sourceTableRows = sourceTable.rows.length;
    var targetTable = document.getElementById('timesheetTable');
    var rowindex;
    var targetTableColCount;

    for (var rowIndex = 0; rowIndex < targetTable.rows.length; rowIndex++) {
        if (rowIndex == 1) {
           targetTableColCount = targetTable.rows.item(rowIndex).cells.length;
           continue; //do not execute further code for header row.
        }
    }
    for (rowIndex = 0; rowIndex < (parseInt(sourceTableRows)-2); rowIndex++) {
        var sourceTableRowID = document.getElementsByClassName('activityTaskRow')[rowIndex].id;
        $("#timesheetTable > tbody").append('<tr id="' + sourceTableRowID + '" data-tt-id="' + sourceTableRowID + '" class="timesheetRow row' + rowIndex + '"></tr>');

    };

    // This loop was nested within the above loop
    for (x = 0; x < targetTableColCount; x++) {
        $("#timesheetTable > tbody > tr").append('<td id="' + x + '" style="width: 60px;height: 34px;" class=""></td>');
    };
};