gpt4 book ai didi

javascript - 对 DOM 节点进行排序的最简单方法?

转载 作者:IT王子 更新时间:2023-10-29 03:02:10 24 4
gpt4 key购买 nike

如果我有这样一个列表:

<ul id="mylist">
<li id="list-item1">text 1</li>
<li id="list-item2">text 2</li>
<li id="list-item3">text 3</li>
<li id="list-item4">text 4</li>
</ul>

根据我的喜好重新排列 DOM 节点的最简单方法是什么? (这需要在页面加载时自动发生,列表顺序首选项是从 cookie 中获得的)

例如

<ul id="mylist">
<li id="list-item3">text 3</li>
<li id="list-item4">text 4</li>
<li id="list-item2">text 2</li>
<li id="list-item1">text 1</li>
</ul>

最佳答案

虽然使用 JS 库可能有更简单的方法来执行此操作,但这里有一个使用 vanilla js 的有效解决方案。

var list = document.getElementById('mylist');

var items = list.childNodes;
var itemsArr = [];
for (var i in items) {
if (items[i].nodeType == 1) { // get rid of the whitespace text nodes
itemsArr.push(items[i]);
}
}

itemsArr.sort(function(a, b) {
return a.innerHTML == b.innerHTML
? 0
: (a.innerHTML > b.innerHTML ? 1 : -1);
});

for (i = 0; i < itemsArr.length; ++i) {
list.appendChild(itemsArr[i]);
}

关于javascript - 对 DOM 节点进行排序的最简单方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/282670/

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