william666
@william666

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

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



хотелось увидеть наиболее правильно оптимизированный по вашему мнению код с помощью jQuery..
  • Вопрос задан
  • 71 просмотр
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
const tables = document.querySelectorAll('селектор таблиц');

for (const table of tables) {
  const labels = Array.prototype.map.call(
    table.querySelectorAll('thead th'),
    th => th.innerText
  );

  for (const tbody of table.tBodies) {
    for (const tr of tbody.rows) {
      for (let i = 0; i < tr.cells.length; i++) {
        tr.cells[i].setAttribute('data-label', labels[i]);
      }
    }
  }
}

// или

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

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

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