Подтвердить что ты не робот

Как получить элемент обертки, созданный с помощью "wrapAll()"?

Рассмотрим следующий код: (живой пример здесь)

$(function() {
  var wrapper = $("<div class='wrapper'></div>");
  $(".a").wrapAll(wrapper);
  wrapper.css("border", "5px solid black"); // Doesn't work
});
.wrapper {
  background-color: #777;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="a">Hello</div>
<div class="a">Stack</div>
<div class="a">Overflow</div>
4b9b3361

Ответ 1

Поскольку вы просто обернули элементы, вы можете использовать parent() для получения вновь вставленных оберток:

$(".a").wrapAll("<div class='wrapper'></div>")
       .parent().css("border", "5px solid black");

Ответ 2

Объект jQuery, хранящийся в wrapper, клонируется при вызове wrapAll, поэтому вы не можете повлиять на .wrappers, которые были вставлены в DOM, манипулируя wrapper, вам нужно выбрать их из документа.

Ответ 3

$(function() {
    var wrapper = $("<div class='wrapper'></div>");
    var wrapped = $(".a").wrapAll(wrapper);
    wrapped.css("border", "5px solid black");
});