特定の数の要素を でラップしようとしていdiv
ます。問題は、要素の数がユーザーの入力に基づいて変化する可能性があることです。したがって、要素の数は 2、3、4、またはそれ以上になる可能性があります。ラップする要素の数を示す変数があります。たとえば、私のページには次のようなものがあります。
<div class="test"></div>
<div class="test"></div>
<div class="test"></div>
<div class="test"></div>
<div class="test"></div>
<div class="test"></div>
div
ここで、変数に基づいてそれらを別のものにラップする必要があります。したがって、変数が 3 の値を保持している場合、次のようになります。
<div class="testing">
<div class="test"></div>
<div class="test"></div>
<div class="test"></div>
</div>
<div class="testing">
<div class="test"></div>
<div class="test"></div>
<div class="test"></div>
</div>
私はこのコードを使用していました:
$(this).add($(this).next())
.add($(this).next().next())
.wrapAll('<div class="testing"></div>');
問題は、そこにいくつの要素が存在するかを知る必要があることです。これを行う動的な方法はありますか?私もslice
関数を見て、次のように使用しようとしました:
for(var i=0;i<img_cnt;i+=img_row){
obj.children().slice(i,i+img_row).wrapAll('<div class="row"></div>');
}
しかし、それは機能していません。私は8div
秒です。3 を一緒にラップする必要があるためdiv
、最初の 2 に 3、最後の 2 に 3 を含む 3 つの新しい が必要です。これは 8 しかないためdiv
です。ただし、div
最初の newdiv
で 3 秒を取得すると、次の 2div
秒はまったくラップされず、最後の 3div
秒は new でラップされdiv
ます。なぜそれが正しくラップされていないのかわかりません。これを行う方法、またはより良い方法について何かアイデアはありますか?