Masz literówkę,
rows.lenght --} rows.length
Docelowo ma się kolorować co drugi wiersz
jeżeli chcesz wiersze kolorować, to lepiej użyć tr zamiast td
const rows = table.getElementsByTagName('tr');
nie jest to wymagane, ale możesz "doprecyzować" jaki styl chcesz "ustawiać"
rows[i].style.backgroundColor = color;
Nie widać całego kodu js-a, jeżeli ta zmienna text_color, która "przechowuje" element DOM nie jest globalna to w funkcji ColorChange() użycie jej zwróci błąd
Uncaught ReferenceError: text_color is not defined
ponieważ przypisanie do niej elementu DOM
text_color = document.getElementById('color-picker');
następuje w funkcji load() i w ten sposób jest tylko "widziana" w tej funkcji (zmienna lokalna).
ponieważ funkcja ColorChange() w Twoim kodzie jest wywoływana ze "zdarzenia"
text_color.addEventListener('change', ColorChange, false);
to możesz zastosować "e"
what does (e) mean?
e is the short var reference for event object which will be passed to event handlers.
The event object essentially has lot of interesting methods and properties that can be used in the event handlers.
wtedy funkcja może "przybrać wygląd"
function ColorChange(e) {
const color = e.target.value;
const table = document.getElementById('tabelka');
const rows = table.getElementsByTagName('tr');
for (let i = 0; i < rows.length; i++) {
rows[i].style.backgroundColor = color;
}
}