html中table数据排序的js代码


Posted in Javascript onAugust 09, 2011

对了,注意那个innerText和innerHTML

function sortCells(event) { 
var obj = event.target; 
var count = 0; count是记录点击次数的,根据奇偶进行升序或降序 
if(!obj.getAttribute("clickCount")){ 
obj.setAttribute("clickCount", 0); 
} else { 
count = parseInt(obj.getAttribute("clickCount")); 
count++; 
obj.setAttribute("clickCount", count); 
} 
var table = event.target.parentNode.parentNode; 
if(table.nodeName.localeCompare("THEAD") == 0){ 
if(table.parentNode.nodeName.localeCompare("TABLE") == 0){ 
table = table.parentNode; 
} else { 
return; 
} 
} else if(table.nodeName.localeCompare("TBODY") == 0){ 
if(table.parentNode.nodeName.localeCompare("TABLE") == 0){ 
table = table.parentNode; 
} else { 
return; 
} 
} else if(table.nodeName.localeCompare("TABLE") == 0){ 
} else { 
return; 
} 
var colNum; 
for(x = 0; x < table.rows(1).cells.length; x++){ 
if(event.target.innerText.localeCompare(table.rows(0).cells[x].innerText) == 0){ 
colNum = x; 
break; 
} 
} 
var column = table.rows(1).cells.length; 
var row = table.rows.length; 
var Ar = new Array(row - 1); 
for (x = 0; x < row - 1; x++) { 
Ar[x] = new Array(column); 
} 
for (x = 1; x < row; x++) { 
for (y = 0; y < column; y++) { 
Ar[x - 1][y] = table.rows(x).cells(y).innerHTML; 
} 
} 

 //这个可以对字符串进行本地化排序 
/* if((count%2) == 0){ 
Ar.sort(function(a, b) { 
return b[colNum].localeCompare(a[colNum]) 
}); 
} else { 
Ar.sort(function(a, b) { 
return a[colNum].localeCompare(b[colNum]) 
}); 
} */ 
var temp; 
for (x = 0; x < row - 1; x++) { 
for (y = 1; y < row - 1; y++) { 
temp = Ar[y - 1]; 
if((count % 2) == 0){ 
if (parseInt(Ar[y - 1][colNum]) >= parseInt(Ar[y][colNum])) { 
Ar[y - 1] = Ar[y]; 
Ar[y] = temp; 
} 
} else { 
if (parseInt(Ar[y - 1][colNum]) <= parseInt(Ar[y][colNum])) { 
Ar[y - 1] = Ar[y]; 
Ar[y] = temp; 
} 
} 
} 
} 
for (x = 1; x < row; x++) { 
for (y = 0; y < column; y++) { 
table.rows(x).cells(y).innerHTML = Ar[x - 1][y]; 
} 
} 
count++; 
}
Javascript 相关文章推荐
javascript 获取元素位置的快速方法 getBoundingClientRect()
Nov 26 Javascript
JavaScript DOM学习第四章 getElementByTagNames
Feb 19 Javascript
JavaScript中数组的排序、乱序和搜索实现代码
Nov 30 Javascript
JavaScript简单实现网页回到顶部功能
Nov 12 Javascript
jquery的clone方法应用于textarea和select的bug修复
Jun 26 Javascript
jQuery中removeAttr()方法用法实例
Jan 05 Javascript
javascript自定义右键弹出菜单实现方法
May 25 Javascript
JavaScript操作 url 中 search 部分方法函数
Jun 15 Javascript
vue 实现通过手机发送短信验证码注册功能
Apr 19 Javascript
使用vue-cli脚手架工具搭建vue-webpack项目
Jan 14 Javascript
jQuery实现的五星点评功能【案例】
Feb 18 jQuery
javascript实现简易数码时钟
Mar 30 Javascript
最常用的12种设计模式小结
Aug 09 #Javascript
silverlight线程与基于事件驱动javascript引擎(实现轨迹回放功能)
Aug 09 #Javascript
javascript 主动派发事件总结
Aug 09 #Javascript
JsDom 编程小结
Aug 09 #Javascript
IE 当eval遇上function的处理
Aug 09 #Javascript
取得窗口大小 兼容所有浏览器的js代码
Aug 09 #Javascript
Javascript实现的类似Google的Div拖动效果代码
Aug 09 #Javascript
You might like
php日历[测试通过]
2008/03/27 PHP
php实现可以设置中奖概率的抽奖程序代码分享
2014/01/19 PHP
PHP中的插件机制原理和实例
2014/07/08 PHP
CodeIgniter中使用cookie的三种方式详解
2014/07/18 PHP
ThinkPHP的MVC开发机制实例解析
2014/08/23 PHP
PHP合并数组+号和array_merge的区别
2015/06/25 PHP
Eclipse PHPEclipse 配置的具体步骤
2017/08/08 PHP
用js实现键盘方向键翻页功能的代码
2007/06/03 Javascript
学习ExtJS form布局
2009/10/08 Javascript
javascript cookies 设置、读取、删除实例代码
2010/04/12 Javascript
Javascript继承(上)——对象构建介绍
2012/11/08 Javascript
js创建一个input数组并绑定click事件的方法
2014/06/12 Javascript
jQuery时间日期三级联动(推荐)
2016/11/27 Javascript
详解Vue.js——60分钟组件快速入门(上篇)
2016/12/05 Javascript
Angular2 父子组件通信方式的示例
2018/01/29 Javascript
vue中如何使用ztree
2018/02/06 Javascript
vue2.0.js的多级联动选择器实现方法
2018/02/09 Javascript
uni-app使用countdown插件实现倒计时
2020/11/01 Javascript
Django中实现一个高性能计数器(Counter)实例
2014/07/09 Python
Python列表(list)常用操作方法小结
2015/02/02 Python
python将ip地址转换成整数的方法
2015/03/17 Python
在python的类中动态添加属性与生成对象
2016/09/17 Python
Python进阶学习之特殊方法实例详析
2017/12/01 Python
python爬虫之urllib库常用方法用法总结大全
2018/11/14 Python
Python编程在flask中模拟进行Restful的CRUD操作
2018/12/28 Python
python常用函数与用法示例
2019/07/02 Python
Python qrcode 生成一个二维码的实例详解
2020/02/12 Python
Python基于smtplib模块发送邮件代码实例
2020/05/29 Python
python GUI模拟实现计算器
2020/06/22 Python
python,Java,JavaScript实现indexOf
2020/09/09 Python
Python计算矩阵的和积的实例详解
2020/09/10 Python
酒店个人求职信范文
2014/01/25 职场文书
卖房协议书样本
2014/10/30 职场文书
汽车4S店前台接待岗位职责
2015/04/03 职场文书
如何设置多台电脑共享打印机?多台电脑共享打印机的方法
2022/04/08 数码科技
PostgreSQL数据库创建并使用视图以及子查询
2022/04/11 PostgreSQL