Ваш код работает с таблицей, подобной приведенной ниже
ПРИМЕЧАНИЕ: Я ВЫЗЫВАЮ функцию add()
на каком-то этапе.Это должно быть после того, как таблица существует.
function add() {
//att läsa hela tabell
var tabell = document.getElementById("c");
//att läsa taggan tr
var rader = tabell.getElementsByTagName("tr");
//att läsa alla rader i tabellen
for (var i = 0; i < rader.length; i++) {
//medan alla rader läsas upp skapar td element
var nyCell = document.createElement("td");
//indikerar nyCell i alla rader
nyCell.innerHTML = "Hejsan";
rader[i].appendChild(nyCell);
}
}
add()
td {
border: 1px solid black
}
<table id="c">
<tr></tr>
</table>
Полагаю, вы на самом деле имеете в виду это
function add() {
/*att skapa th som står summa*/
var tableHeadRow = document.querySelector("#c thead tr"); //ONE row
var nyTh = document.createElement("th");
nyTh.innerHTML = "Summa";
tableHeadRow.appendChild(nyTh);
var tableBody = document.querySelector("#c tbody");
var tableBodyRows = tableBody.querySelectorAll("tr"); // ALL rows
//att läsa alla rader i tabellen
for (var i = 0; i < tableBodyRows.length; i++) {
//medan alla rader läsas upp skapar td element
var nyCell = document.createElement("td");
//indikerar nyCell i alla rader
nyCell.innerHTML = "";
tableBodyRows[i].appendChild(nyCell); // add ONE cell to the end of each row
}
/*to add new row*/
var nyRad = document.createElement("tr");
var nyCell1 = document.createElement("td");
var nyCell2 = document.createElement("td");
var nyCell3 = document.createElement("td");
var nyCell4 = document.createElement("td");
nyCell4.innerText="Total";
nyRad.appendChild(nyCell1);
nyRad.appendChild(nyCell2);
nyRad.appendChild(nyCell3);
nyRad.appendChild(nyCell4);
tableBody.appendChild(nyRad);
}
add()
td {
border: 1px solid black
}
<table id="c">
<thead>
<tr>
<th>Column 1</th>
<th>Column 2</th>
<th>Column 3</th>
</tr>
</thead>
<tbody>
<tr>
<td>Row 1 Cell 1</td>
<td>Row 1 Cell 2</td>
<td>Row 1 Cell 3</td>
</tr>
<tr>
<td>Row 2 Cell 1</td>
<td>Row 2 Cell 2</td>
<td>Row 2 Cell 3</td>
</tr>
</tbody>
</table>