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字符串对象charAt方法入门实例(用于取得指定位置的字符)
Oct 17 Javascript
JavaScript事件委托实例分析
May 26 Javascript
js实现简单秒表走动的时钟特效
Mar 25 Javascript
浅谈DOM的操作以及性能优化问题-重绘重排
Jan 08 Javascript
jQuery事件_动力节点Java学院整理
Jul 05 jQuery
angular4实现tab栏切换的方法示例
Oct 21 Javascript
Angular实现点击按钮控制隐藏和显示功能示例
Dec 29 Javascript
vue利用axios来完成数据的交互
Mar 23 Javascript
webpack 插件html-webpack-plugin的具体使用
Apr 09 Javascript
vue基础之data存储数据及v-for循环用法示例
Mar 08 Javascript
基于iview的router常用控制方式
May 30 Javascript
JQuery使用数组遍历跳出each循环
Sep 01 jQuery
最常用的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脚本加密专家php解密算法
2020/09/13 PHP
浅谈PHP接收POST数据方式
2015/06/05 PHP
学习php设计模式 php实现单例模式(singleton)
2015/12/07 PHP
PHP实现将MySQL重复ID二维数组重组为三维数组的方法
2016/08/01 PHP
PHP多进程通信-消息队列使用
2019/03/08 PHP
Aliyun Linux 编译安装 php7.3 tengine2.3.2 mysql8.0 redis5的过程详解
2020/10/20 PHP
一段利用WSH修改和查看IP配置的代码
2008/05/11 Javascript
jquery 插件学习(一)
2012/08/06 Javascript
JavaScript中合并数组的N种方法
2014/09/16 Javascript
浅谈JavaScript Math和Number对象
2015/01/26 Javascript
jQuery实现DIV层淡入淡出拖动特效的方法
2015/02/13 Javascript
jquery实现Ctrl+Enter提交表单的方法
2015/07/21 Javascript
JS模拟Dialog弹出浮动框效果代码
2015/10/16 Javascript
简单实现Vue的observer和watcher
2016/12/21 Javascript
文本溢出插件jquery.dotdotdot.js使用方法详解
2017/06/22 jQuery
vue组件之间通信实例总结(点赞功能)
2018/12/05 Javascript
在Layui 的表格模板中,实现layer父页面和子页面传值交互的方法
2019/09/10 Javascript
Vue插槽_特殊特性slot,slot-scope与指令v-slot说明
2020/09/04 Javascript
ES6字符串的扩展实例
2020/12/21 Javascript
[01:02:54]完美世界DOTA2联赛PWL S2 FTD vs GXR 第一场 11.22
2020/11/26 DOTA
python 列表,数组,矩阵两两转换tolist()的实例
2018/04/04 Python
基于PyQt4和PySide实现输入对话框效果
2019/02/27 Python
python 将字符串完成特定的向右移动方法
2019/06/11 Python
Django基础知识 web框架的本质详解
2019/07/18 Python
详解Python中的分支和循环结构
2020/02/11 Python
Python MySQL 日期时间格式化作为参数的操作
2020/03/02 Python
Python读取文件内容为字符串的方法(多种方法详解)
2020/03/04 Python
python的help函数如何使用
2020/06/11 Python
python代码实现图书管理系统
2020/11/30 Python
python opencv图像处理(素描、怀旧、光照、流年、滤镜 原理及实现)
2020/12/10 Python
html5实现多图片预览上传及点击可拖拽控件
2018/03/15 HTML / CSS
美国主要的特色咖啡和茶公司:Peet’s Coffee
2020/02/14 全球购物
Linux如何为某个操作添加别名
2013/03/01 面试题
计算机开发个人求职信范文
2013/09/26 职场文书
保险内勤岗位职责
2014/04/05 职场文书
mysql外连接与内连接查询的不同之处
2021/06/03 MySQL