Заметка на одной стороне, но она слишком велика для комментария и содержит код.
document.write
следует избегать, когда вы вызываете его, он очищает страницу, потому что он вызывает open, чтобы создать таблицу в JS, вы можете использовать этот код, который я считаю самым коротким.
var div = document.createElement('div');
div.innerHTML = drawTable;
document.body.appendChild(div);
более длинный код потребует вызова createElement
для <tr>
и <td>
и создания древовидной структуры для вашей таблицы:
var rows = 10, cols = 10;
var table = document.createElement('table');
table.className = 'tableTasks';
for (var i = 0; i < rows; i++) {
var tr = document.createElement('tr');
table.appendChild(tr);
for(var j = 0; j < cols; j++) {
var td = document.createElement('td');
td.innerHTML = 'Task';
tr.appendChild(td);
}
}
document.body.appendChild(table);
И ошибки в вашем коде:
function createMainTable() {
var rows = document.getElementById('dayRow').getElementsByTagName("td").length;
var cols = document.getElementById('employeeCol').getElementsByTagName("tr").length;
// var drawTable += '<table class="tableTasks">';
// it should be this, because your create variable so it don't exist before
var drawTable = '<table class="tableTasks">';
// for (int i = 0; i < rows; i++) {
// in JS you need to use var not int like in java
for (var i = 0; i < rows; i++) {
drawTable += '<tr>';
for(int j = 0; j < cols; j++) {
drawTable += '<td>Task</td>';
}
drawTable += '</tr>';
}
drawTable += '</table>';
// this will remove your other tables.
document.write(drawTable);
}