gpt4 book ai didi

javascript - 使用 jquery 将列表拆分为大小相等的子列表的最有效方法

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:46:55 25 4
gpt4 key购买 nike

使用 jQuery,拆分列表最有效的方法是什么

 <ul class="columnar"><li></li>... <li></li></ul> 

分成几个子列表

<ul class="column1"><li></li>... <li></li></ul>
<ul class="column2"><li></li>... <li></li></ul>

其中每个子列表(除了可能的最后一个)都有 n 个项目。

我想将对 DOM 的查询和操作保持在最低限度,并将原始 DOM 元素移动到新列表中而不是克隆它们。

最佳答案

这是我到目前为止想出的:

var $ul = $(this),
items = $ul.children("li"),
itemCount = items.length,
colHeight = Math.ceil(itemCount/3);

// create temp DOM node to place the new lists in
var temp = $("<div></div>"),
newUL,
i = 1;

while($ul.children("li").length > colHeight) {
newUL = $("<ul class=\"columns\"></ul>");
newUL.append(items.filter(":gt(" + ((i * colHeight)-1) + ")").filter(":lt(" + colHeight + ")"));
i++;
temp.append(newUL.addClass("column" + i));
}
temp.children().insertAfter($ul.attr("class","columns column1"));

关于javascript - 使用 jquery 将列表拆分为大小相等的子列表的最有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7794526/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com