当前位置: 首页 > 面试题库 >

排序DOM节点的最简单方法?

莫宝
2023-03-14
问题内容

如果我有这样的列表:

<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库可能有一种更简单的方法,但这是使用香草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]);
}


 类似资料:
  • 本文向大家介绍JS/jQuery判断DOM节点是否存在的简单方法,包括了JS/jQuery判断DOM节点是否存在的简单方法的使用技巧和注意事项,需要的朋友参考一下 JS原生判断DOM节点是否存在页面中 JavaScript原生函数没有提供判断DOM节点是否存在方法,我们通常获取DOM节点几乎都是document.getElement..方法,会返回一个object数组合集,我们可以通过object

  • 本文向大家介绍详谈DOM简介及节点、属性、查找节点的方法,包括了详谈DOM简介及节点、属性、查找节点的方法的使用技巧和注意事项,需要的朋友参考一下 DOM(Document Object Modle) 操作文档的编程接口 DOM定义了表示和修改文档的方法,不能修改css样式表,在js中使用DOM方法改变元素的css样式,实质上是在元素上添加行间样式。 DOM对象就是宿主对象,用来操作HTML和xm

  • 本文向大家介绍最简单易懂的java数组排序方法整理,包括了最简单易懂的java数组排序方法整理的使用技巧和注意事项,需要的朋友参考一下 前言 JAVA中在运用数组进行排序功能时,一般有四种方法:快速排序法、冒泡法、选择排序法、插入排序法。本文就给大家介绍了关于最简单易懂的java数组排序方法,下面话不多说了,来一起看看详细的介绍吧 方法如下: 1、快速排序:首先是最简单的Array.sort,直接

  • 本文向大家介绍JQuery创建DOM节点的方法,包括了JQuery创建DOM节点的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JQuery创建DOM节点的方法。分享给大家供大家参考。具体分析如下: 用JQuery选择器能够快捷而轻松地查找到文档中的某个特定的元素节点,然后可以用attr()方法来获取元素的各种属性的值。但真正的DOM操作并非这么简单。在DOM操作中,常常需要动态创建

  • 本文向大家介绍JQuery查找DOM节点的方法,包括了JQuery查找DOM节点的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JQuery查找DOM节点的方法。分享给大家供大家参考。具体分析如下: DOM操作是JQuery最常见的用法,下面我们来将JQuery的DOM操作逐个剖析下。先来最简单的查找节点操作。 为了能全面地讲解DOM操作,首先需要构建一个网页。因为每一张网页都能用D

  • 假设我有一个数组(以任何方式未排序): 我想对其进行排序,以便第二列按升序排列: