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++; }
html中table数据排序的js代码
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@