Можно ли использовать $.wrap() вокруг набора элементов массива?

Допустим, у меня есть коллекция "элементов", например:

Элемент 1

Элемент 2

Элемент 3

Элемент 4

Item 5

Я хочу пройтись по элементам и обернуть содержащий div вокруг всех элементов, имеющих класс 'group', чтобы получить что-то вроде этого (сгруппированные элементы будут всегдабыть рядом друг с другом):

Вот сценарий, который у меня есть:

var group = [];$('.item').each(function(i, item) { if ($( item).hasClass('group')) { group.push(item); } }); $(group).wrap('
');

Элемент 1

Элемент 2

Элемент 3

Это em 4

Элемент 5

Что происходит, так это то, что обертка div оборачивается вокруг каждого элемента отдельно в массиве (что имеет смысл), но я нужно, чтобы обернуть все элементы вместе. Есть ли способ сделать это? Вот jsFiddle.

Возможна более сложная вариация этой проблемы, это будет ситуация, когда есть несколько «наборов» этих групп, каждая из которых должна быть заключена в свою собственную «группу» div.Исходное состояние:

Элемент 1

Элемент 2

Элемент 3

Элемент 4

Элемент 5

Элемент 6

Элемент 7

Элемент 8

Элемент 9

Желаемое состояние:

Элемент 1

Элемент 2

Элемент 3

Элемент 4

Элемент 5

Элемент 6

Элемент 7

Элемент 8

Элемент 9

8
задан double-beep 18 April 2019 в 19:24
поделиться