グループで操作するために、子要素の範囲をdivでラップしようとしています。各グループを異なる場所に配置しようとしています。シナリオでは、ランダムにli
タグを生成するリストがあり、いくつ表示されても、10個のセットごとに個別に操作する必要があります。
これを理解するために、私は書き出されたリストを使用しています:
$("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' />");
}
この種は機能しますが、shiftクラスのネストされたインスタンスを作成します。
別のラッパーdivが必要です。コードを作成するとしたら、次のようになります。
$("ul li ul li:nth-child("+c+"<n<"+(c+10)+")").wrapAll("<span class='shift' />");
しかし、明らかにそれは機能しません。他の誰かが前にこのようなことをします。少し検索しても成功しませんでした。