2012-11-22 61 views
0

我有一个大的ul列表。有很多李项目。我想在10部分中分割这个大列表。我制作了一个脚本,但脚本无法正常工作。我错了什么:拆分一个大的ul列表

var maxItems = 10; 
    var ul = $('.list-thumbnails'); 
    var current; 
    ul.find('li').each(function(i, el) { 
      if (i < maxItems) { 
        // leave first 10 in the original list 
        return; 
      } 
      if (i % maxItems == 0) { 
        current = 
            $(el) 
                .closest('ul') 
                .clone() 
                .after($(el).closest('ul')); 
      } 
    .append(current); 
}); 
+1

,则应该设置的jsfiddle –

+2

为什么你尝试结果列表上工作,而不是试图改变列表的创建? –

+0

这是JSFiddle。 http://jsfiddle.net/4tpnS/2/我想分裂这个大的ul列表。在10的部分 –

回答

1

我修改了代码块,如下所示。请检查它

既然你使用append方法循环$ .each,它将不会反映在ul中,因此我们需要删除该元素。

var maxItems = 10; 
      var ul = $('.list-thumbnails'); 
      var currentul; 
      var elements = ul.find('li'); 
      elements.each(function (i, el) { 
       if (i < maxItems) { 
        // leave first 10 in the original list 
        return; 
       } 
       if (i % maxItems == 0) { 
        currentul = $("<ul></ul>").addClass("new"); 
        $(el).closest('ul').parent().append((currentul.append(el))); 
       } 
       else { 
        currentul.append(el) 
       } 

      }); 
      $('.list-thumbnails').find("li:gt(9)").remove(); 

请检查下面的jsfiddle http://jsfiddle.net/aQ5K8/13/

感谢 斯里达尔

+1

谢谢你帮助家伙!祝你今天愉快! –