Переупорядочить / сгруппировать различные элементы в DOM, чтобы обернуть похожие

0

У меня есть этот шаблон, который я должен изменить с помощью jQuery:

    <li class="ref">
        <a href="#title1">title1</a>
    </li>
    <div id="title1" class="content"></div>
    <li class="ref">
        <a href="#title2">title2</a>
    </li>
    <div id="title2" class="content"></div>

Мне нужно, чтобы это стало:

  <ul>
    <li class="ref">
        <a href="#title1">title1</a>
    </li>
    <li class="ref">
        <a href="#title2">title2</a>
    </li>
 </ul>
<div>
    <div id="title1" class="content"></div>
    <div id="title2" class="content"></div>
</div>

Я знаю, что могу завершить в конце как группу li и div, но я бы оценил простой способ добиться этой группировки всех из них в DOM, чтобы заменить их в правильном порядке.

  • 0
    Я бы предложил сделать это в исходном коде, а не в jQuery, так как то, что у вас изначально есть, недопустимо и испортит компоновку ul . Исправление элементов после загрузки DOM все равно оставит страницу недействительной.
  • 0
    Спасибо за ваш комментарий. Поскольку я хотел бы, чтобы мой код был чистым, не могли бы вы сказать мне, какой инструмент дает недопустимую ошибку этому коду? Ответы ниже исправили мои проблемы, и моя консоль не показывает ошибки.
Показать ещё 1 комментарий
Теги:

2 ответа

0
Лучший ответ

вы можете использовать wrapAll() для wrapAll() селектора

 $('.ref').wrapAll('<ul>');
 $('.content').wrapAll('<div>');

скрипка здесь

0

Это должно помочь (скрипку):

var ul = $('<ul>'), div = $('<div>'), body = $('body')
$('.ref').appendTo(ul)
$('.content').appendTo(div)
ul.add(div).appendTo(body)
  • 0
    Спасибо, красу, ответ Бипена проще, поэтому я пойду на это. Я буду голосовать за всех, когда у меня будет больше представителей.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню