<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style>
table{ width:100%;}
th{ background:#ccc; height:30px; cursor:pointer;}
td{ background:#eee; text-align:center;}
</style>
<script>
/*
var attr=[3,32,5,34];
attr.sort(compare);
function compare(a,b){//数字的比较方法
if(a>b) return 1;
else if(a<b) return -1;
else return 0;
}
alert(attr)
alert(attr.reverse())
*/
function compare(a,b){//原本的a,b在这里被当成了表格中的行,值和所在行进行关联
var val1=a.cells[0].firstChild.nodeValue;//a表示表格其中一行 val1--这行第一个单元格的值
var val2=b.cells[0].firstChild.nodeValue;//b表示表格其中另一行 val2--这行第一个单元格的值
if(val1>val2) return 1;
else if(val1<val2) return -1;
else return 0;
}
function Sort(tableId){
var sortTable=document.getElementById(tableId);
var tbody=sortTable.tBodies[0];
var colrows=tbody.rows;
var trs=new Array();
for(i=0;i<trs.length;i++){
trs[i]=colrows[i];
}trs.sort(compare)
var oFragment=document.createDocumentFragment();
for(i=0;i<trs.length;i++){
oFragment.appendChild(trs[i])
}
tbody.appendChild(oFragment);
}
</script>
</head>
<body>
<table id="sortTable">
<thead>
<tr>
<th>fristName</th>
</tr>
</thead>
<tbody>
<tr>
<td>2</td>
</tr>
<tr>
<td>4</td>
</tr>
<tr>
<td>1</td>
</tr>
</tbody>
</table>
</body>
</html>这应该是一个很简单的JS表格排序,可是无效,找不出问题在哪?
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style>
table{ width:100%;}
th{ background:#ccc; height:30px; cursor:pointer;}
td{ background:#eee; text-align:center;}
</style>
<script>
/*
var attr=[3,32,5,34];
attr.sort(compare);
function compare(a,b){//数字的比较方法
if(a>b) return 1;
else if(a<b) return -1;
else return 0;
}
alert(attr)
alert(attr.reverse())
*/
function compare(a,b){//原本的a,b在这里被当成了表格中的行,值和所在行进行关联
var val1=a.cells[0].firstChild.nodeValue;//a表示表格其中一行 val1--这行第一个单元格的值
var val2=b.cells[0].firstChild.nodeValue;//b表示表格其中另一行 val2--这行第一个单元格的值
if(val1>val2) return 1;
else if(val1<val2) return -1;
else return 0;
}
function Sort(tableId){
var sortTable=document.getElementById(tableId);
var tbody=sortTable.tBodies[0];
var colrows=tbody.rows;
var trs=new Array();
for(i=0;i<trs.length;i++){
trs[i]=colrows[i];
}trs.sort(compare)
var oFragment=document.createDocumentFragment();
for(i=0;i<trs.length;i++){
oFragment.appendChild(trs[i])
}
tbody.appendChild(oFragment);
}
</script>
</head>
<body>
<table id="sortTable">
<thead>
<tr>
<th>fristName</th>
</tr>
</thead>
<tbody>
<tr>
<td>2</td>
</tr>
<tr>
<td>4</td>
</tr>
<tr>
<td>1</td>
</tr>
</tbody>
</table>
</body>
</html>这应该是一个很简单的JS表格排序,可是无效,找不出问题在哪?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货