我试图将一系列子元素包装在 div 中,以便分组操作它们;尝试将每个组定位在不同的位置。场景是我有一个随机生成的列表li
标签,无论出现多少个,我都需要单独操作每组十个标签。
为了解决这个问题,我使用了一个书面列表:
$("ul li ul li:nth-child(n+11)").wrapAll("<span class='shift' />");
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="access">
<div class="menu">
<ul>
<li>
<p>Hello</p>
<ul>
<li>Stuff</li>
<li>Stuff</li>
<li>Stuff</li>
<li>Stuff</li>
<li>Stuff</li>
<li>Stuff</li>
<li>Stuff</li>
<li>Stuff</li>
<li>Stuff</li>
<li>Stuff</li>
<li>Stuff2</li>
<li>Stuff2</li>
<li>Stuff2</li>
<li>Stuff2</li>
<li>Stuff2</li>
<li>Stuff2</li>
<li>Stuff2</li>
<li>Stuff2</li>
<li>Stuff2</li>
<li>Stuff2</li>
<li>Stuff3</li>
<li>Stuff3</li>
<li>Stuff3</li>
<li>Stuff3</li>
<li>Stuff3</li>
<li>Stuff3</li>
<li>Stuff3</li>
<li>Stuff3</li>
<li>Stuff3</li>
<li>Stuff3</li>
</ul>
</li>
</ul>
</div>
</div>
但这当然不是我需要的。
这是我现在正在处理的代码。
var count = $("ul li ul li").length;
for(var c = 11; c<=count;c+=10){
$("ul li ul li:nth-child(n+"+c+")").wrapAll("<span class='shift' />");
}
这种方法可行,但它会创建班次类的嵌套实例。
我需要单独的包装 div。如果我要编写代码,它将是:
$("ul li ul li:nth-child("+c+"<n<"+(c+10)+")").wrapAll("<span class='shift' />");
但显然这行不通。其他人以前也做过类似的事情。一直在寻找,但没有成功。
你可以尝试.slice http://api.jquery.com/slice/ method:
// note: different from nth-child, slice is 0-based position
$("ul li ul li").slice(c, c+10).wrapAll("<span class='shift' />");
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)