Witam. W moim dokumencie HTML znajdują się funkcje f(), która ma za zadanie wypisać rosnąco liczby od 0 do n (w zależności ile jest komórek) do każdej komórki oraz Suma(), która powinna w każdym wierszu OSOBNO sumować jej komórki. Problem w tym ze funkcja ta sumuje wszystko na raz, a wynik wpisuje do pierwszego <th>
. Mój kod
<html lang="pl">
<head>
<meta charset= "utf-8">
<title> Ćwiczenie 5 </title>
<style>
td {width:40px; height:40px ; border: 1px solid grey;}
table {border-collapse:collapse}
tr:nth-child(odd) td:nth-child(odd) {background:#ddd}
tr:nth-child(even) td:nth-child(even) {background:#ddd}
th {width:40px; height:40px; border:1px solid gray;}
tr {width:40px; height:40px; border:1px solid gray;}
</style>
</head>
<body>
<table class="tabela">
<tr><th></th><td></td><td></td><td></td><td></td><td></td></tr>
<tr><th></th><td></td><td></td><td></td><td></td><td></td></tr>
<tr><th></th><td></td><td></td><td></td><td></td><td></td></tr>
<tr><th></th><td></td><td></td><td></td><td></td><td></td></tr>
<tr><th></th><td></td><td></td><td></td><td></td><td></td></tr>
</table>
<button onclick="f()">Liczby</button>
<button onclick="Suma()">Suma wierszu</button>
</body>
<script>
function f()
{
var tabela= document.getElementsByTagName("td");
liczba = 0;
for (let i=0; i <= tabela.length ; i++)
{
tabela[i].innerHTML = i;
}
}
function Suma()
{
var wiersz1 = document.querySelectorAll('tr');
var komorka4 = document.querySelectorAll('td');
var th1 = document.querySelectorAll('th')
var wynik = 0;
for (let i =0 ; i<=wiersz1.length; i++)
{
for(let j=0; j<=komorka4.length;j++)
{
var liczba2 = parseInt(komorka4[j].innerHTML);
wynik += liczba2;
th1[i].innerHTML = wynik;
}
}
}
</script>
</html>