我需要拆分每2个li并将它们附加到div

我有一个通用列表

  • list item1
  • list item2
  • list item3
  • list item4
  • list item5
  • list item6

但我想做的是

 
  • list item1
  • list item2
  • list item3
  • list item4
  • list item5
  • list item6

我无法向li添加类的原因是这是在Business Catalyst中创建的动态菜单,我可以使用任何建议来处理这种情况的最佳方法。

最好的塔拉

示例: http //jsfiddle.net/jBYqt/2/

 $('ul > li:nth-child(2n-1)').each(function() { $(this).next().add(this).wrapAll('
    '); }).eq(0).closest('div').unwrap();
    • nth-child-selector (docs)从第一个开始每秒
    • 获取

    • each() (docs)迭代它们
    • next() (docs)获得下一个
    • add() (docs)将当前的一个添加到下一个(所以你有1和2,3和4等组)
    • wrapAll() (docs)用新的包装器包装它们。
    • eq() (docs)从集合中获取第一个
    • closest() (docs)遍历最近的(新创建的)

      祖先

    • unwrap() (docs)删除旧的


      编辑:修改我的答案来处理奇数个

    • 元素。

      您可以将.slice()方法与.slice()方法结合使用。

      像这样的东西会起作用。

       $('li') .slice(2) .wrap('
      ');

      当结果是奇数时由你来处理案例。

       $(document).ready(function(){ var f=true; var l; $('ul>li').each(function(){ if (f) { l=$('
        '); $(this).appendTo($('ul',l)); }else{ $(this).appendTo($('ul',l)); $(l).appendTo('body'); } f=!f; }); $('body>ul').remove() });

        http://jsfiddle.net/x9Rq5/