繁体   English   中英

如何使用“wrapAll()”创建包装元素?

[英]How to get the wrapper element created with “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> 

获取创建的包装器并更改其属性的正确方法是什么?

注意: DOM中还有其他.wrapper元素,因此不起作用:

$(".wrapper").css("border", "5px solid black");

我也不想给创建的包装器赋一个唯一的id

由于您只是包装了元素,因此可以使用parent()来获取新插入的包装器:

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

存储在wrapper的jQuery对象在调用wrapAll时被克隆,因此您不能通过操作wrapper来影响已插入DOM的.wrappers ,您需要从文档中选择它们。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM