Ответ 1
Поскольку вы просто обернули элементы, вы можете использовать parent() для получения вновь вставленных оберток:
$(".a").wrapAll("<div class='wrapper'></div>")
.parent().css("border", "5px solid black");
Рассмотрим следующий код: (живой пример здесь)
$(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>
Поскольку вы просто обернули элементы, вы можете использовать parent() для получения вновь вставленных оберток:
$(".a").wrapAll("<div class='wrapper'></div>")
.parent().css("border", "5px solid black");
Объект jQuery, хранящийся в wrapper
, клонируется при вызове wrapAll
, поэтому вы не можете повлиять на .wrappers
, которые были вставлены в DOM, манипулируя wrapper
, вам нужно выбрать их из документа.
$(function() {
var wrapper = $("<div class='wrapper'></div>");
var wrapped = $(".a").wrapAll(wrapper);
wrapped.css("border", "5px solid black");
});