如何使用jquery将元素列表包装(分组)到另一个元素中?

我有以下结构。

  • 我可以将其转换为:

     
    • </ul

    所以任务是将li分组为“行”。 1行总是3 li,但行号总是不同。

    有人知道,怎么做? 谢谢。

    你可以用wrapAll来做到这wrapAll

     var a = $('li'); do $(a.slice(0,3)).wrapAll('
      '); while((a = a.slice(3)).length>0)

      示例: http : //jsfiddle.net/niklasvh/mZr4h/

       var i, num = 3, $ul = $('#ul'), $li = $('#ul > li'); for (i=0;i<$li.length;i+=num) { $li.slice(i,i+num).wrapAll('
        '); } $ul.find('> ul').unwrap();

        http://jsfiddle.net/Q2bYz/

        .wrap() api正是你要找的