0

私はwrapall()を読み終えましたが、それが必要な解決策かもしれないと思います。この構造を与える:

<ul>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>

私はこの構造になりたいと思います:

<ul>
<div class="class1">
<li></li>
<li></li>
</div>
<div class="class2">
<li></li>
<li></li>
</div>
</ul>

私はこれを達成する方法を少しもしていません。ラップオールの例をいくつか読みましたが、この方法で適応できるものはありません

4

2 に答える 2

0

私はお勧めします:

$('ul li').slice(0,2).wrapAll('<ul></ul>').closest('ul').wrap('<li />');

結果は次のとおりです。

<ul>
    <li>
        <ul>
             <li>1</li>
             <li>2</li>
         </ul>
     </li>    
    <li>3</li>
    <li>4</li>
</ul>

JS フィドルのデモ

于 2013-02-25T00:54:53.037 に答える
0
var a = $('li');
do { $(a.slice(0,2)).wrapAll('<li class="two"><ul></ul></li>'); }
while( (a = a.slice(2) ).length>0 );

その結果:

<ul>
    <li class="two">
       <ul>
          <li>a1</li>
          <li>a2</li>
       </ul>
    </li>
    <li class="two">
       <ul>
         <li>b1</li>
         <li>b2</li>
       </ul>
    </li>
</ul>
于 2013-02-25T01:04:20.703 に答える