I am a pretty novice javascript user. I need some help debugging this code. What I intend this to do is based on the amount of values in the list, is create a 3 column wide table to display each. BTW the whole html formatting is set up with grid.
The error is: Uncaught TypeError: Cannot read properties of undefined (reading 'appendChild')
HTML (inside body):
<section id="db_gallery">
<table id="gallery_table"></table>
<script src="autogallery.js"></script>
</section>
JS in autogallery.js:
const gallery_table = document.getElementById("gallery_table");
const list = ["A", "B", "C", "D", "E", "F"];
for (let i of list) {
if (i % 3 === 0) {
let newRowItem = document.createElement("tr");
var idName = "newRowItem";
idName.concat(i);
newRowItem.setAttribute("id", idName);
gallery_table.appendChild(newRowItem);
}
let newColItem = document.createElement('th');
newColItem.textContent = i;
idName.appendChild(newColItem);
console.log(idName);
}
Also it would be a big help if any suggestions were simple to understand. If it means anything I will eventually be linking this to a phpmyadmin database as the values in the array. Thanks!