Итак, я не могу понять, в чем дело, из небольшого кода, который вы представили. Я заполнил пропуски как можно лучше, чтобы это работало, и оно добавляет для меня красный цвет.
//Get NodeList of all tds
let tds = document.querySelectorAll('td');
//Convert NodeList to Array
tds = Array.from(tds);
//Add class 'col' to each td
tds.map((td) => td.classList.add('col'));
//Get all '.col' elements
const tabl= document.getElementsByClassName("col");
//Programmatically set style attribute on each .col
for (var i = 0; i < tabl.length; i++) {
tabl[i].style.backgroundColor="red";
}
Обычно считается плохой практикой напрямую, программно устанавливать стиль элемента таким образом. ;Лучше добавить класс и обработать стиль через файл CSS. Поскольку вы уже добавляете класс, почему бы просто не установить этот класс для установки background-color: red в любом случае в CSS-файле?
В любом случае, вы можете проверить StackBlitz здесь, чтобы увидеть, как он работает и работает: https://stackblitz.com/edit/js-2zm68n