2012-11-22 100 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

謝謝你幫助傢伙!祝你今天愉快! –