Відсортуйте таблицю
Рішення коротке, але може виглядати дещо складним, тому я надаю його з розширеними коментарями:
let sortedRows = Array.from(table.tBodies[0].rows) // 1
.sort((rowA, rowB) => rowA.cells[0].innerHTML.localeCompare(rowB.cells[0].innerHTML));
table.tBodies[0].append(...sortedRows); // (3)
Покроковий алгоритм:
- Отримати всі
<tr>з<tbody>. - Потім відсортувати їх порівнюючи за вмістом першого
<td>(поле «Ім’я»). - Вставити вузли в правильному порядку
.append(...sortedRows).
Нам не потрібно видаляти існуючі рядки з таблиці, лише повторно вставити і вони автоматично залишать своє попереднє місце розташування.
P.S. У нашому випадку в таблиці є явний <tbody>, але навіть якщо HTML-таблиця не має <tbody>, він завжди є в структурі DOM.