[Js]表格排序
思路:遍历每个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>
最新文章
- [CC]区域生长算法——点云分割
- 小觑数据库(SqlServer)查询语句执行过程
- 在Android中让Preference的宽度占满整个屏幕的宽度
- linux下忘记mysql root密码解决办法
- 设置iOS项目BuildVersion自动增加-备用
- 沃通tomcat jks 安装配置
- CCNA网络工程师学习进程(7)路由器的路由配置
- C++头文件#include<;bits/stdc++.h>;
- PHP Excel使用方法
- Linux 自动化部署DNS服务器
- 拜托!面试请不要再问我Spring Cloud底层原理
- 【问题记录】使用FreeMarker生成数据,模板明明没错却一直报错“The following has evaluated to null or missing:”
- PHP使用PDO操作数据库的示例
- Knn:Knn实现对150朵共三种花的实例的萼片长度、宽,花瓣长、宽数据统计,根据一朵新花的四个特征来预测其种类
- PyCharm:ModuleNotFoundError: No module named &#39;selenium&#39;
- 背水一战 Windows 10 (67) - 控件(控件基类): DependencyObject - CoreDispatcher, 依赖属性的设置与获取, 依赖属性的变化回调
- hdu-6397-容斥
- PHP 获取文件扩展名的五种方式
- Python+Appium自动化环境搭建
- 《C#从现象到本质》读书笔记(二)第2章 C#类型基础(上)
热门文章
- IQ一个人的智力和对科学知识的理解掌握程度。 EQ对环境和个人情绪的掌控和对团队关系的运作能力。 AQ挫折商 一个人面对困境时减除自己的压力、渡过难关的能力。
- SAP接口编程 之 JCo3.0系列(01):JCoDestination
- ajax 、ajax的交互模型、如何解决跨域问题
- (六)C语言之typedef详解
- 每一个程序员需要了解的10个Linux命令
- Asp.NET设置Session过期时间的四种方式
- 转!!java线程状态
- 出现Warning:Gradle version 2.10 is required. Current version is 2.8.
- 关于http响应内容压缩的一点小积累。
- C#中操作txt,抛出“正由另一进程使用,因此该进程无法访问此文件”