思路:遍历每个li,并把它们存放到数组中去,然后通过sort()方法进行排序,再插入

<body>
    <input type="button" value="排序按钮" id="btn1">
    <ul id="ul1">
        <li>58</li>
        <li>8</li>
        <li>31</li>
        <li>98</li>
        <li>75</li>
    </ul>

<script type="text/javascript">
    window.onload=function(){
        var oBtn=document.getElementById("btn1");
        var arr=[];
        var oUl=document.getElementById("ul1");
        var aLi=oUl.getElementsByTagName("li");
        var i;
        var bAsc=true;
        oBtn.onclick=function(){
            for(i=0;i<aLi.length;i++){
                arr[i]=aLi[i];
            }
            arr.sort(function(li1,li2){
                if(bAsc){
                    return parseInt(li1.innerHTML)-parseInt(li2.innerHTML);
                }
                else{
                    return parseInt(li2.innerHTML)-parseInt(li1.innerHTML);
                }
            });
            for(i=0;i<arr.length;i++){
                oUl.appendChild(arr[i]);              //appendChild实际上分两步   1.先移除父级 2.添加到新的父级 (添加到原本的父级就相当于把当前元素拿到队列的末尾)
            }
            if(bAsc){
                bAsc=false;
            }                                        ==>bAsc=!bAsc;    //简化写法
            else{
                bAsc=true;
            }
        };
    }
</script>
</body>

最新文章

  1. [CC]区域生长算法——点云分割
  2. 小觑数据库(SqlServer)查询语句执行过程
  3. 在Android中让Preference的宽度占满整个屏幕的宽度
  4. linux下忘记mysql root密码解决办法
  5. 设置iOS项目BuildVersion自动增加-备用
  6. 沃通tomcat jks 安装配置
  7. CCNA网络工程师学习进程(7)路由器的路由配置
  8. C++头文件#include&lt;bits/stdc++.h&gt;
  9. PHP Excel使用方法
  10. Linux 自动化部署DNS服务器
  11. 拜托!面试请不要再问我Spring Cloud底层原理
  12. 【问题记录】使用FreeMarker生成数据,模板明明没错却一直报错“The following has evaluated to null or missing:”
  13. PHP使用PDO操作数据库的示例
  14. Knn:Knn实现对150朵共三种花的实例的萼片长度、宽,花瓣长、宽数据统计,根据一朵新花的四个特征来预测其种类
  15. PyCharm:ModuleNotFoundError: No module named &#39;selenium&#39;
  16. 背水一战 Windows 10 (67) - 控件(控件基类): DependencyObject - CoreDispatcher, 依赖属性的设置与获取, 依赖属性的变化回调
  17. hdu-6397-容斥
  18. PHP 获取文件扩展名的五种方式
  19. Python+Appium自动化环境搭建
  20. 《C#从现象到本质》读书笔记(二)第2章 C#类型基础(上)

热门文章

  1. IQ一个人的智力和对科学知识的理解掌握程度。 EQ对环境和个人情绪的掌控和对团队关系的运作能力。 AQ挫折商 一个人面对困境时减除自己的压力、渡过难关的能力。
  2. SAP接口编程 之 JCo3.0系列(01):JCoDestination
  3. ajax 、ajax的交互模型、如何解决跨域问题
  4. (六)C语言之typedef详解
  5. 每一个程序员需要了解的10个Linux命令
  6. Asp.NET设置Session过期时间的四种方式
  7. 转!!java线程状态
  8. 出现Warning:Gradle version 2.10 is required. Current version is 2.8.
  9. 关于http响应内容压缩的一点小积累。
  10. C#中操作txt,抛出“正由另一进程使用,因此该进程无法访问此文件”