Задать вопрос
william666
@william666

Как получить значение ячейки th и присвоить это значение в data-attr td?

Требуется заполнение data-attr td из th ячейки для всех таблиц на странице, например:



хотелось увидеть наиболее правильно оптимизированный по вашему мнению код с помощью jQuery..
  • Вопрос задан
  • 145 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Какие таблицы будем обрабатывать:

const tables = document.querySelectorAll('селектор таблиц');

Собираем в массив заголовки столбцов, используем элементы этого массива для задания значений атрибута. Как определять, какое именно значение брать для конкретной ячейки? - очевидно же, у них одинаковые индексы:

for (const { tHead, tBodies } of tables) {
  const labels = Array.prototype.map.call(
    tHead.rows[0].cells,
    th => th.textContent
  );

  for (const { rows } of tBodies) {
    for (const { cells } of rows) {
      for (const [ i, label ] of labels.entries()) {
        cells[i].dataset.label = label;
      }
    }
  }
}

или

tables.forEach(table => {
  table.querySelectorAll('tbody td').forEach(function(td) {
    td.setAttribute('data-label', this[td.cellIndex]);
  }, Array.from(table.querySelectorAll('thead th'), th => th.innerText));
});
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
22 дек. 2024, в 13:01
50000 руб./за проект
22 дек. 2024, в 10:44
15000 руб./за проект
22 дек. 2024, в 10:12
10000 руб./за проект