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 相关文章推荐
收藏一些不常用,但是有用的代码
Mar 12 Javascript
javascript数组的扩展实现代码集合
Jun 01 Javascript
jQuery创建插件的代码分析
Apr 14 Javascript
js模仿html5 placeholder适应于不支持的浏览器
Jan 13 Javascript
兼容FF和IE的动态table示例自写
Oct 21 Javascript
原生js和jquery中有关透明度设置的相关问题
Jan 08 Javascript
js原型继承的两种方法对比介绍
Mar 30 Javascript
Windows环境下npm install 报错: operation not permitted, rename的解决方法
Sep 26 Javascript
js实现鼠标单击Tab表单切换效果
May 16 Javascript
vue页面加载时的进度条功能(实例代码)
Jan 13 Javascript
浅谈vue的第一个commit分析
Jun 08 Javascript
js实现弹框效果
Mar 24 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
解决dede生成静态页和动态页转换的一些问题,及火车采集入库生成动态的办法
2007/03/29 PHP
ThinkPHP实例化模型的四种方法概述
2014/08/22 PHP
功能强大的PHP图片处理类(水印、透明度、旋转)
2015/10/21 PHP
分享php多功能图片处理类
2016/05/15 PHP
php实现跨域提交form表单的方法【2种方法】
2016/10/17 PHP
PHP第三方登录―QQ登录实现方法
2017/02/06 PHP
thinkPHP中钩子的使用方法实例分析
2017/11/16 PHP
php-fpm添加service服务的例子
2018/04/27 PHP
浅谈laravel-admin form中的数据,在提交后,保存前,获取并进行编辑
2019/10/21 PHP
jQuery Ajax请求状态管理器打包
2012/05/03 Javascript
图片Slider 带左右按钮的js示例
2013/08/30 Javascript
javascript中的变量作用域以及变量提升详细介绍
2013/10/24 Javascript
get(0).tagName获得作用标签示例代码
2014/10/08 Javascript
基于JavaScript代码实现自动生成表格
2016/06/15 Javascript
JavaScript使用原型和原型链实现对象继承的方法详解
2017/04/05 Javascript
js中getBoundingClientRect的作用及兼容方案详解
2018/02/01 Javascript
在vue 中使用 less的教程详解
2018/09/26 Javascript
微信开发之微信jssdk录音功能开发示例
2018/10/22 Javascript
swiper.js插件实现pc端文本上下滑动功能示例
2018/12/03 Javascript
Python单元测试简单示例
2018/07/03 Python
对python pandas 画移动平均线的方法详解
2018/11/28 Python
对Python3之进程池与回调函数的实例详解
2019/01/22 Python
Python传递参数的多种方式(小结)
2019/09/18 Python
python使用opencv在Windows下调用摄像头实现解析
2019/11/26 Python
Python基于pandas爬取网页表格数据
2020/05/11 Python
python求numpy中array按列非零元素的平均值案例
2020/06/08 Python
基于python实现模拟数据结构模型
2020/06/12 Python
详解Python中的Lock和Rlock
2021/01/26 Python
PyCharm2020.3.2安装超详细教程
2021/02/08 Python
浅谈HTML5 Web Worker的使用
2018/01/05 HTML / CSS
AmazeUI框架搭建的方法步骤(图文)
2020/08/17 HTML / CSS
法国大使拉杆箱官网:DELSEY Paris
2018/03/20 全球购物
北京华建集团SQL面试题
2014/06/03 面试题
观看《周恩来的四个昼夜》思想汇报
2014/09/12 职场文书
创先争优宣传标语
2014/10/08 职场文书
解决python存数据库速度太慢的问题
2021/04/23 Python