如何将所有元素包装在每个容器中
How to wrap all elements in each container
我需要包装除带有类A的div之外的所有li的子级div。还需要将它们保存在其父级li中。
当前html:
<ul class="container">
<li>
<div class="a"></div>
<div class="b"></div>
<div class="b"></div>
</li>
<li>
<div class="a"></div>
<div class="b"></div>
<div class="b"></div>
</li>
</ul>
期望输出:
<ul class="container">
<li>
<div class="a"></div>
<div class="wrapped">
<div class="b"></div>
<div class="c"></div>
</div>
</li>
<li>
<div class="a"></div>
<div class="wrapped">
<div class="b"></div>
<div class="c"></div>
</div>
</li>
</ul>
本以为这个代码可以做到,但它不起作用。我想用一个变量来定义所选的div:
var selected = $("li").children().not(".a");
$(selected).each(function() {
$(selected).wrapAll($("<div class='wrapped'></div>"));
});
在每个li
上迭代,然后包装它的没有类a
的子级。wrapAll
将包装所有可能的匹配元素,因此它也将包装来自其他li
的匹配元素。
$('li').each(function() {
$(this).children().not('.a').wrapAll('<div class="wrapped"></div>');
});
.wrapped {
color: green;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<ul class="container">
<li>
<div class="a">A</div>
<div class="b">B</div>
<div class="b">B</div>
</li>
<li>
<div class="a">A</div>
<div class="b">B</div>
<div class="b">B</div>
</li>
</ul>
相关文章:
- 如何在jQuery中包装两个元素的组
- 包装元素中的所有元素,直到出现特定标记
- 如何包装元素的所有子元素
- 如何使用链接包装元素覆盖它事件
- 当外部链接是内部的另一个链接时,外部链接不会包装元素
- jQuery中根据其数据属性包装元素的最佳方法是什么?
- 高阶组件和访问包装元素的子元素
- 使用jQuery包装元素组
- 使用jQuery包装元素
- 防止IE在contenteditables中包装P元素
- 在jQuery中选择包装元素
- 为什么使用jQuery元素包装元素要快得多?
- 如何在angular中使用数据绑定指令来包装元素
- 如何获取onclick包装元素的id
- 在包装元素中呈现更新的数据
- 单击iframe包装元素上的event
- 如何使用javascript在字符周围包装元素
- 如何在html字符串var中包装元素
- AngularJS组件可以修改它们的包装元素吗?
- 向传递给函数的jQuery包装元素添加元素