разбить jquery $(») на отдельные открывающие и закрывающие теги

#javascript #jquery

#javascript #jquery

Вопрос:

У меня есть несколько блоков, таких как:

 <div class="first">...</div>
<div class="second">...</div>
<div class="third">..</div>
  

Я хочу обернуть все 3 блока другим div.
Есть ли способ разделить $(‘</div>’) на две части: <div> и </div>, чтобы я мог insertBefore() открывающий <div> и insertAfter() закрывающий </div> Я мог бы добиться этого просто с помощью html, но я не могу изменитьэто в этой ситуации

Комментарии:

1. см . api.jquery.com/wrapAll и api.jquery.com/wrap

Ответ №1:

Не могли бы вы использовать ‘wrapAll()‘?

 $('div').wrapAll('<div class="new" />');
  

Комментарии:

1. Спасибо. wrapAll() — это способ, но могут быть и другие элементы с разными классами

Ответ №2:

Не уверен, что я правильно вас понимаю, но вы должны иметь возможность сохранять элементы в переменных и добавлять к ним новые элементы следующим образом.

 var el1 = $("div")
var el2 = el.add("div");
var el3 = el2.add("div");    
  

Комментарии:

1. Это другой способ, но мне нужно другое решение, так как может быть 100 элементов с разными атрибутами и содержимым

2. Я в замешательстве от того, что ты пытаешься сделать. Вы пытаетесь вложить элементы друг в друга или обернуть элементы в содержащий div?

3. оберните элементы, содержащие div. Я изменил разметку, чтобы вы могли видеть, что там могут быть любые элементы

4. Есть ли какая-то причина, по которой вы не можете создать контейнер в разметке и просто добавить в него элементы DIV?

5. Да, есть конкретная ситуация, в которой я должен использовать Js