【发布时间】:2021-11-18 17:38:42
【问题描述】:
我正在尝试解决我在使用 JQuery 时遇到的每个问题。 我有一个项目列表(类 .list),我需要将其定位并包装在一个 div(类 .wrap)中。如果列表有效,但当有第二个列表时,循环在新 div 中将列表包装两次。
这个想法是每次有一个名为 list 的类时,循环将该特定类包装在一个名为 wrap 的 div 中。
这里是代码
HTML
<div class='parent'>
<div class='child'>
<div class='list'>
<div>1</div>
<div>2</div>
<div>3</div>
</div>
</div>
</div>
<div class='parent'>
<div class='child'>
<div class='list'>
<div>1</div>
<div>2</div>
<div>3</div>
</div>
</div>
</div>
jQuery
jQuery(".parent").each(function () {
jQuery(".list").wrap("<div class='wrap'></div>");
});
这是错误的结果。 从下面的示例中可以看到,类列表被包装了两次。
<div class="parent">
<div class="child">
<div class="wrap"><div class="wrap"><div class="list">
<div>1</div>
<div>2</div>
<div>3</div>
</div></div></div>
</div>
</div>
这就是我想要实现的目标。
<div class="parent">
<div class="child">
<div class="wrap">
<div class="list">
<div>1</div>
<div>2</div>
<div>3</div>
</div>
</div>
</div>
</div>
提前谢谢你!
【问题讨论】:
-
您没有选择列表是父列表 您选择所有父节点,循环,选择页面中的所有列表,然后换行。因此,您为每个父级选择所有列表一次。
标签: javascript html jquery frontend