Разделы

В цикле обернуть элементы JavaScript, Jquery

Вопрос

Подскажите как в цикле обернуть элементы. У меня есть несколько таблиц в них теги tr нужно обернуть в thead и tbode сейчас вот так.

сейчас вот так обернуты элементы

<table> <tr></tr> <tr></tr> <tr></tr> <tr></tr> </table> <table> <tr></tr> <tr></tr> <tr></tr> <tr></tr> </table> <table> <tr></tr> <tr></tr> <tr></tr> <tr></tr> </table>

нужно вот так, чтобы были обернуты элементы

<table> <thead> <tr></tr> </thead> <tbody> <tr></tr> <tr></tr> <tr></tr> </tbody> </table> <table> <thead> <tr></tr> </thead> <tbody> <tr></tr> <tr></tr> <tr></tr> </tbody> </table>

Ответ

Пример на JavaScript

function decorateTable(tbl = new HTMLTableElement()) { if (tbl.firstElementChild.tagName === "THEAD") return; let first = tbl.rows[0], header = tbl.createTHead(); header.appendChild(first); } for (let tbl of document.querySelectorAll("table")) decorateTable(tbl);

А единственный tbody автоматически добавляется в разметку.

Пример на Jquery

$('table tr:first-child').each(function(index, el) { $('<thead>', {}).prependTo(el.closest('table')).append(el); });

Авторизация

Восстановление пароля