We can create an HTML table with the document.createElement method.
For instance, if we have the following HTML:
<div>
</div>
Then we can create the table and attach it to the div by writing:
const div = document.querySelector("div");
const table = document.createElement('table');
table.border = '1';
const tableBody = document.createElement('tbody');
table.appendChild(tableBody);
for (let i = 0; i < 3; i++) {
const tr = document.createElement('tr');
tableBody.appendChild(tr);
for (let j = 0; j < 4; j++) {
const td = document.createElement('td');
td.width = '75';
td.appendChild(document.createTextNode(`cell ${i}-${j}`));
tr.appendChild(td);
}
}
div.appendChild(table);
We get the div with document.querySelector .
Then we create the table element with:
const table = document.createElement('table');
We set the border width in pixels with:
table.border = '1';
Then we create the tbody element with:
const tableBody = document.createElement('tbody');
Next, we append the tbody element to the table with:
table.appendChild(tableBody);
Then we add the tr and td elements into the tr with:
for (let i = 0; i < 3; i++) {
const tr = document.createElement('tr');
tableBody.appendChild(tr);
for (let j = 0; j < 4; j++) {
const td = document.createElement('td');
td.width = '75';
td.appendChild(document.createTextNode(`cell ${i}-${j}`));
tr.appendChild(td);
}
}
We create the table row element with:
const tr = document.createElement('tr');
Then we attach it to the tbody with:
tableBody.appendChild(tr);
Then we have another loop inside to add the td and append the td in the tr as its child:
for (let j = 0; j < 4; j++) {
const td = document.createElement('td');
td.width = '75';
td.appendChild(document.createTextNode(`cell ${i}-${j}`));
tr.appendChild(td);
}
We set the width of the td and call document.createTextNode and td.appendChild to add the text inside the td .
Then tr.appendChild(td) add the td as the last child of tr .
Finally, we add the table into the div with:
div.appendChild(table);