0

我有一个很大的 ul 列表。有很多李项目。我想将这个大列表分成 10 个部分。我制作了一个脚本,但该脚本不起作用。我错了什么:

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);
});
4

1 回答 1

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/

谢谢斯里达尔

于 2012-11-22T14:38:02.503 回答