Есть несколько изменений, необходимых для достижения того, что вам нужно.Во-первых, вам нужно переместить создание строк и ячеек в цикл - в настоящее время вы создаете один набор строк вне цикла, прежде чем он начнется.
Обратите внимание, что вы не можете повторноиспользуйте один и тот же элемент строки или элемент ячейки в таблице для создания таблицы с несколькими строками и ячейками - для этого необходимо создать новые экземпляры элемента.
Также рассмотрите возможность использования методов insertRow()
, insertCell()
и document.createTextNode()
, как показано ниже:
function dates() {
var test = 31;
var rows = 2;
var text_bsp = "example";
var tab = document.createElement("table");
var ausgabe = document.getElementById('content-container');
ausgabe.appendChild(tab);
for (var i = 1; i < 32; i++) {
/*
Create line1 row inside of for loop, to produce
a new line for each iteration
*/
var line1 = tab.insertRow(line1);
for (var j = 0; j < 3; j++) {
/*
Create new cell_date and cell_event cells for
the current row we're creating
*/
var cell_date = line1.insertCell();
var cell_event = line1.insertCell();
/*
Create new text nodes for each cell via document
and append these to respective cell elements
*/
cell_date.append(document.createTextNode(text_bsp));
cell_event.append(document.createTextNode(text_bsp));
}
/*
As before, create line2 row inside of for loop
*/
var line2 = tab.insertRow();
for (var k = 0; j < 3; k++) {
var cell_date = line2.insertCell();
var cell_place = line2.insertCell();
cell_date.append(document.createTextNode(text_bsp));
cell_place.append(document.createTextNode(text_bsp));
}
}
}
dates();
<div id="content-container"></div>