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>

我一点也不知道如何做到这一点。我读过一些 wrapall 的例子,但没有一个我可以以这种方式适应

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 回答