对javascript表格中的元素进行排序(正序和倒序)
2012-03-19 22:13
453 查看
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>Insert title here</title>
<!--去除下划线-->
<style type="text/css">
a{text-decoration:none;}
</style>
<script type="text/javascript">
/*
*
对javascript表格中的元素进行排序(正序和倒序)
* 知识点:其中使用了冒泡排序
* 数组中的两个数据的交换
*/
var nameTimes = 0; //为了让各自的元素排序,互不影响,为每个排序,添加一个统计次数
var ageTimes = 0;
var emailTimes = 0;
function sortByName(){
//获取tbody中所有的tr,然后按名字排序,内部是按码表值排序
var trArr = document.getElementsByTagName("tbody")[0].rows; //获取TBODY中的所有TR
for(var i = 0; i < trArr.length - 1; i++)
for(var j = 0; j < trArr.length - 1 - i; j++)
if(nameTimes % 2 == 0 ?
(trArr[j].cells[0].innerHTML) > (trArr[j+1].cells[0].innerHTML)
: (trArr[j].cells[0].innerHTML) < (trArr[j+1].cells[0].innerHTML))
trArr[j].swapNode(trArr[j + 1]);
nameTimes++;
}
function sortByAge(){
//获取tbody中所有的tr,然后按年龄排序
var trArr = document.getElementsByTagName("tbody")[0].rows;
for(var i = 0; i < trArr.length - 1; i++)
for(var j = 0; j < trArr.length - 1 - i; j++)
if(ageTimes % 2 == 0 ?
parseInt(trArr[j].cells[1].innerHTML) > parseInt(trArr[j+1].cells[1].innerHTML)
: parseInt(trArr[j].cells[1].innerHTML) < parseInt(trArr[j+1].cells[1].innerHTML))
trArr[j].swapNode(trArr[j + 1]);
ageTimes++;
}
function sortByEmail(){
//获取tbody中所有的tr,然后按邮箱排序,字母排序
var trArr = document.getElementsByTagName("tbody")[0].rows;
for(var i = 0; i < trArr.length - 1; i++)
for(var j = 0; j < trArr.length - 1 - i; j++)
if(emailTimes % 2 == 0 ?
(trArr[j].cells[2].innerHTML) > (trArr[j+1].cells[2].innerHTML)
: (trArr[j].cells[2].innerHTML) < (trArr[j+1].cells[2].innerHTML))
trArr[j].swapNode(trArr[j + 1]);
emailTimes++;
}
</script>
</head>
<body>
<table width=60% border=1px cellspacing=0px cellpadding=5px align=center>
<thead>
<tr>
<th><a href="javascript:sortByName()">姓名</a></th>
<th><a href="javascript:sortByAge()">年龄</a></th>
<th><a href="javascript:sortByEmail()">邮箱</a></th>
</tr>
</thead>
<tbody>
<tr>
<td>郑立杰</td>
<td>27</td>
<td>zlj@gmail.com</td>
</tr>
<tr>
<td>赵峥</td>
<td>18</td>
<td>zj@163.com</td>
</tr>
<tr>
<td>吕佩</td>
<td>18</td>
<td>lp@sina.com.cn</td>
</tr>
<tr>
<td>张纪强</td>
<td>8</td>
<td>zjq@qq.com</td>
</tr>
<tr>
<td>杜超</td>
<td>22</td>
<td>dc@hotmail.com</td>
</tr>
</tbody>
</table>
</body>
</html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>Insert title here</title>
<!--去除下划线-->
<style type="text/css">
a{text-decoration:none;}
</style>
<script type="text/javascript">
/*
*
对javascript表格中的元素进行排序(正序和倒序)
* 知识点:其中使用了冒泡排序
* 数组中的两个数据的交换
*/
var nameTimes = 0; //为了让各自的元素排序,互不影响,为每个排序,添加一个统计次数
var ageTimes = 0;
var emailTimes = 0;
function sortByName(){
//获取tbody中所有的tr,然后按名字排序,内部是按码表值排序
var trArr = document.getElementsByTagName("tbody")[0].rows; //获取TBODY中的所有TR
for(var i = 0; i < trArr.length - 1; i++)
for(var j = 0; j < trArr.length - 1 - i; j++)
if(nameTimes % 2 == 0 ?
(trArr[j].cells[0].innerHTML) > (trArr[j+1].cells[0].innerHTML)
: (trArr[j].cells[0].innerHTML) < (trArr[j+1].cells[0].innerHTML))
trArr[j].swapNode(trArr[j + 1]);
nameTimes++;
}
function sortByAge(){
//获取tbody中所有的tr,然后按年龄排序
var trArr = document.getElementsByTagName("tbody")[0].rows;
for(var i = 0; i < trArr.length - 1; i++)
for(var j = 0; j < trArr.length - 1 - i; j++)
if(ageTimes % 2 == 0 ?
parseInt(trArr[j].cells[1].innerHTML) > parseInt(trArr[j+1].cells[1].innerHTML)
: parseInt(trArr[j].cells[1].innerHTML) < parseInt(trArr[j+1].cells[1].innerHTML))
trArr[j].swapNode(trArr[j + 1]);
ageTimes++;
}
function sortByEmail(){
//获取tbody中所有的tr,然后按邮箱排序,字母排序
var trArr = document.getElementsByTagName("tbody")[0].rows;
for(var i = 0; i < trArr.length - 1; i++)
for(var j = 0; j < trArr.length - 1 - i; j++)
if(emailTimes % 2 == 0 ?
(trArr[j].cells[2].innerHTML) > (trArr[j+1].cells[2].innerHTML)
: (trArr[j].cells[2].innerHTML) < (trArr[j+1].cells[2].innerHTML))
trArr[j].swapNode(trArr[j + 1]);
emailTimes++;
}
</script>
</head>
<body>
<table width=60% border=1px cellspacing=0px cellpadding=5px align=center>
<thead>
<tr>
<th><a href="javascript:sortByName()">姓名</a></th>
<th><a href="javascript:sortByAge()">年龄</a></th>
<th><a href="javascript:sortByEmail()">邮箱</a></th>
</tr>
</thead>
<tbody>
<tr>
<td>郑立杰</td>
<td>27</td>
<td>zlj@gmail.com</td>
</tr>
<tr>
<td>赵峥</td>
<td>18</td>
<td>zj@163.com</td>
</tr>
<tr>
<td>吕佩</td>
<td>18</td>
<td>lp@sina.com.cn</td>
</tr>
<tr>
<td>张纪强</td>
<td>8</td>
<td>zjq@qq.com</td>
</tr>
<tr>
<td>杜超</td>
<td>22</td>
<td>dc@hotmail.com</td>
</tr>
</tbody>
</table>
</body>
</html>
相关文章推荐
- javascript实现对表格元素进行排序操作
- javascript实现对表格元素进行排序操作
- 对n个数进行排序(正序或者倒序)--06 年华科计算机保研机试真题
- 使用Javascript对表格进行排序(摘自Javascript高级程序设计)
- Java:集合,对列表(List)中的数据(整型、字符串、日期等)进行排序(正序、倒序)的方法;字符串按照整型排序的方法
- JavaScript-点击表格的表头进行排序
- javascript学习笔记(十一)对表格进行排序(包括数值、字符串、日期等数据类型)
- 使用javascript进行表格排序
- 对JSON数组对象排序-有键相同的元素,分组数量不一致,可采用如下的JS进行循环表格输出
- Java中对List集合内的元素进行顺序、倒序、随机排序的示例代码
- JavaScript操作表格进行拖拽排序
- Java中对List集合内的元素进行顺序、倒序、随机排序的示例代码
- javascript表格操作大全:表格排序/倒序、动态添加列、批量删除、删除一行、隔行变色、鼠标悬浮切换背景色、全选/反选。(IE、火狐都兼容)
- Java中对List集合内的元素进行顺序、倒序、随机排序的示例代码
- 根据表格中的某一列进行排序的javascript代码
- sql查询一些数据进行正序排序,除外的数据进行倒序排序
- javascript 常见数组操作( 1、数组整体元素修改 2、 数组筛选 3、jquery 元素转数组 4、获取两个数组中相同部分或者不同部分 5、数组去重并倒序排序 6、数组排序 7、数组截取slice 8、数组插入、删除splice(需明确位置) 9、数组遍历 10、jQuery根据元素值删除数组元素的方)
- 【javascript】根据表格中的某一列进行排序
- Java中对List集合内的元素进行顺序、倒序、随机排序的示例代码
- List<Object>使用Object的某个属性进行排序(正序,倒序)