<!DOCTYPE html>
<html>

<head>
<meta charset="UTF-8">
<title></title>
<style>
* {
margin: 0;
padding: 0;
}

table {
width: 500px;
margin: 0 auto;
border: 1px solid #ddd;
border-collapse: collapse;
text-align: center;
}

td {
height: 40px;
border: 1px solid #eee;
}

input {
width: 100px;
padding: 6px 8px;
border: 1px solid #ddd;
outline: none;
border-radius: 4px;
display: none;
}

a {
text-decoration: none;
color: #333;
}

.cancel {
display: none;
}

.comfire {
display: none;
}

.btn {
padding: 6px 8px;
outline: none;
background: #8A2BE2;
color: #fff;
border: none;
}
</style>
</head>

<body>
<table id="table">
<tr>
<td>ID</td>
<td>姓名</td>
<td>成绩</td>
<td>操作</td>
</tr>
<tr>
<td>
<span>1</span>
<input type="text" />
</td>
<td>
<span>咖啡</span>
<input type="text" />
</td>
<td>
<span>90</span>
<input type="text" />
</td>
<td>
<a href="javascript:;" class="change">修改</a>
<a href="javascript:;" class="cancel">取消</a>
<a href="javascript:;" class="comfire">确定</a>
</td>
</tr>
<tr>
<td>
<span>2</span>
<input type="text" />
</td>
<td>
<span>绿茶</span>
<input type="text" />
</td>
<td>
<span>90</span>
<input type="text" />
</td>
<td>
<a href="javascript:;" class="change">修改</a>
<a href="javascript:;" class="cancel">取消</a>
<a href="javascript:;" class="comfire">确定</a>
</td>
</tr>
<tr>
<td>
<span>3</span>
<input type="text" />
</td>
<td>
<span>奶茶</span>
<input type="text" />
</td>
<td>
<span>90</span>
<input type="text" />
</td>
<td>
<a href="javascript:;" class="change">修改</a>
<a href="javascript:;" class="cancel">取消</a>
<a href="javascript:;" class="comfire">确定</a>
</td>
</tr>
<tr>
<td>
<span>4</span>
<input type="text" />
</td>
<td>
<span>红茶</span>
<input type="text" />
</td>
<td>
<span>90</span>
<input type="text" />
</td>
<td>
<a href="javascript:;" class="change">修改</a>
<a href="javascript:;" class="cancel">取消</a>
<a href="javascript:;" class="comfire">确定</a>
</td>
</tr>

</table>
<button id="btn" class="btn">ID从大到小排序</button>

<script>
var table = document.getElementById("table")
var oTr = table.getElementsByTagName("tr")
var oBtn = document.getElementById("btn")
var arr = []
var onOff = true

for(var i = 1; i < oTr.length; i++) {
tab(i)
arr.push(oTr[i])
}
// console.log(arr[0].getElementsByTagName("td")[0].innerText)

oBtn.onclick = function() {

if(onOff) {
for(var i = 0; i < arr.length; i++) {

for(var j = i + 1; j < arr.length; j++) {
if(parseFloat(arr[i].getElementsByTagName("td")[0].innerText) <= parseFloat(arr[j].getElementsByTagName("td")[0].innerText)) {
var temp = arr[i]
arr[i] = arr[j]
arr[j] = temp
}
}

}

onOff = false
} else {
for(var i = 0; i < arr.length; i++) {

for(var j = i + 1; j < arr.length; j++) {
if(parseFloat(arr[i].getElementsByTagName("td")[0].innerText) >= parseFloat(arr[j].getElementsByTagName("td")[0].innerText)) {
var temp = arr[i]
arr[i] = arr[j]
arr[j] = temp
}
}

}
onOff = true

}

// console.log(arr)
for(var i = 0; i < arr.length; i++) {
table.appendChild(arr[i])
}

}

function tab(a) {
var oInput = oTr[a].getElementsByTagName("input")
var oSpan = oTr[a].getElementsByTagName("span")
var oA = oTr[a].getElementsByTagName("a")

oA[0].onclick = function() {
for(var i = 0; i < oSpan.length; i++) {
oSpan[i].style.display = "none"
oInput[i].style.display = "inline-block"
oInput[i].value = oSpan[i].innerHTML
}

this.style.display = "none"
oA[1].style.display = "inline-block"
oA[2].style.display = "inline-block"
}
oA[1].onclick = function() {

for(var i = 0; i < oInput.length; i++) {
oInput[i].style.display = "none"
oSpan[i].style.display = "inline-block"
}

this.style.display = "none"
oA[2].style.display = "none"
oA[0].style.display = "inline-block"
}

oA[2].onclick = function() {
for(var i = 0; i < oSpan.length; i++) {
oSpan[i].style.display = "inline-block"
oInput[i].style.display = "none"
oSpan[i].innerHTML = oInput[i].value
}

this.style.display = "none"
oA[0].style.display = "inline-block"
oA[1].style.display = "none"
}
}
</script>

</body>

</html>

js五道经典练习题--第五道成绩列表的更多相关文章

  1. js五道经典练习题--第四道qq好友列表

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...

  2. js五道经典练习题--第三道实现购物车功能

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...

  3. js五道经典练习题--第二道仿qq聊天框

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...

  4. js五道经典练习题--第一道

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...

  5. MYSQL经典练习题,熟悉DQL

    MYSQL经典练习题 (本练习题可让你熟悉DQL,快速的上手DQL) 首先,先在数据库中建立基本数据库以及表项: DROP DATABASE IF EXISTS `test`; CREATE DATA ...

  6. Python经典练习题1:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

    Python经典练习题 网上能够搜得到的答案为: for i in range(1,85): if 168 % i == 0: j = 168 / i; if i > j and (i + j) ...

  7. 【视频+图文】Java基础经典练习题(一)输出2-100之间的素数,及素数个数

    目录 第一题:判断2-100之间有多少个素数,并输出所有素数. 1.视频讲解: 2.思路分析: 代码讲解:以i=4为例 4.为大家准备了彩蛋: 能解决题目的代码并不是一次就可以写好的 我们需要根据我们 ...

  8. Python练习题 011:成绩打分

    [Python练习题 011] 利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示. ---------------------- ...

  9. 170106、用9种办法解决 JS 闭包经典面试题之 for 循环取 i

    闭包 1.正确的说,应该是指一个闭包域,每当声明了一个函数,它就产生了一个闭包域(可以解释为每个函数都有自己的函数栈),每个闭包域(Function 对象)都有一个 function scope(不是 ...

随机推荐

  1. android 开发 View _5_ Paint详解

    转载:http://blog.csdn.net/abcdef314159 //Paint的setStyle,Style共有3种 setStyle(Style style) Paint.Style.FI ...

  2. xmanagr 注册机执行ubuntu 桌面程序,ubuntu无需安装 桌面环境

    Xshell 5 注册码: 690313-111999-999313Xftp 5 注册码:101210-450789-147200 Xmanager 5 注册码:101210-450789-14720 ...

  3. 关于Bootstrap的入门知识

    问:Bootstrap是什么? 答:开源的前端框架,就是一些事先写好的css.js等. 问:Bootstrap在哪儿下载? 答:官方(https://getbootstrap.com/),中文(htt ...

  4. T-SQL中的APPLY用法

    原文出处:http://www.sqlservercentral.com/articles/Stairway+Series/121318/ 从SQL Server 2005开始,微软添加了一个新的运算 ...

  5. Java中锁的实现与内存语义

    目录 1. 概述 2. 锁的内存语义 3. 锁内存语义的实现 4. 总结 1. 概述 锁在实际使用时只是明白锁限制了并发访问, 但是锁是如何实现并发访问的, 同学们可能不太清楚, 下面这篇文章就来揭开 ...

  6. Macro_Average和Micro_Average准则的选择标准

  7. GCD - Extreme (II) (欧拉函数妙用)

    https://cn.vjudge.net/problem/UVA-11426 题意:求 解题思路:我们可以定义一个变量dis[n],dis[n]意为1~(n-1)与n的gcd(最大公约数)的总和,那 ...

  8. Ubuntu 18.04学习笔记

    命令行快捷键 https://blog.csdn.net/wanlhr/article/details/80926804 Ubuntu18.04使用vi命令修改文件并保存 vi /opt/teamvi ...

  9. Spring Boot+Quartz实现一个实时管理的定时任务

    转载 https://www.cnblogs.com/wujiwen/p/9615120.html 项目实践过程中碰到一个动态管理定时任务的需求:针对每个人员进行信息的定时更新,具体更新时间可随时调整 ...

  10. 前后端跨域 _ cross domain

    1. 解决跨域既可以从前端, 也可以从后端. 参考好的网络资源: http://www.cnblogs.com/vajoy/p/4295825.html