mrusklon
@mrusklon
Не получается? Яростно гугли!

Как в таблице подсветить колонки в зависимости от thead?

пример на jsfidle https://jsfiddle.net/KLON/z0dxus7w/1/
если у thdead фамилии есть класс, как подсветить имена? html разметку можем менять только у thead , tbody надо как то css или jquery
  • Вопрос задан
  • 58 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
О какой таблице речь и что за класс отвечает за выделение ячеек:

const table = document.querySelector('table');
const className = 'red';

Сперва собираем индексы столбцов, заголовки которых имеют класс:

const indices = Array.from(table.querySelectorAll(`thead .${className}`), n => n.cellIndex);

Затем можно добавить класс ячейкам в теле таблицы:

table.querySelectorAll('tbody tr').forEach(n => {
  indices.forEach(i => n.cells[i].classList.add(className));
});

Или, кроме добавления, можно класс ещё и убирать (если вдруг есть) в тех столбцах, заголовок которого не подсвечен:

for (const { cells } of table.querySelectorAll('tbody tr')) {
  for (let i = 0, j = 0; i < cells.length; i++) {
    j += cells[i].classList.toggle(className, i === indices[j]);
  }
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы