js table操作 -------- 移动行

http://jiarry.bokee.com/5368523.html
这是一则简单的关于table排序,通过innerHTML互换td里的内容,从而达到排序的目的。主要是对JavaScript里innerHTML以及rowIndex以及DOM的一些应用。这个例子程序虽然简单,并且也有其他类似效果,但该例实用性较强,应用得当,能为界面增加不少活力。(后面省略了一些过期的演示)
selectSort.html源文件如下,没有对代码一一说明了,又不分注释,对稍懂js的人来说应该非常简单。
js table操作 -------- 移动行
js table操作 -------- 移动行
js table操作 -------- 移动行 
<style>
js table操作 -------- 移动行 .tr
{background-color:red}
js table操作 -------- 移动行 
</style> 
js table操作 -------- 移动行  
<body>
js table操作 -------- 移动行 
<div id=info>&nbsp;</div>
js table操作 -------- 移动行    
<center>
js table操作 -------- 移动行
<script type="text/javascript">
js table操作 -------- 移动行
var o1,o2,str1,str2,num1,num2;
js table操作 -------- 移动行
var o1a=new Array();
js table操作 -------- 移动行
var o2a=new Array();
js table操作 -------- 移动行
js table操作 -------- 移动行
function switchTd(tr1,tr2,num)
js table操作 -------- 移动行 
for(x=0;x<o1a.length;x++){  
js table操作 -------- 移动行  tr1.cells[x].innerHTML
=o2a[x];
js table操作 -------- 移动行  tr1.cells[
0].innerHTML=o1a[0];
js table操作 -------- 移动行  tr2.cells[x].innerHTML
=o1a[x];
js table操作 -------- 移动行   tr2.cells[
0].innerHTML=o2a[0];  
js table操作 -------- 移动行  tr1.cells[
2].childNodes[0].name="p"+o1a[0]; 
js table操作 -------- 移动行  tr2.cells[
2].childNodes[0].name="p"+o2a[0];  
js table操作 -------- 移动行 
js table操作 -------- 移动行  }

js table操作 -------- 移动行    
js table操作 -------- 移动行 tr2.className
="tr";
js table操作 -------- 移动行 tr1.className
="";
js table操作 -------- 移动行 
//alert(num+" "+tr1.cells[2].parentNode.innerHTML+"|"+tr2.cells[2].parentNode.innerHTML);
js table操作 -------- 移动行
 //alert(tr2.cells[1].childNodes[0].checked);
js table操作 -------- 移动行
 //document.listform.listTd[num].checked=true;//在opera下也起作用,但ff下不行;
js table操作 -------- 移动行
 
js table操作 -------- 移动行 
if(tr2.cells[1].childNodes[0])tr2.cells[1].childNodes[0].checked=true;//选中被替换的radio,IE下会自动默认;
js table操作 -------- 移动行
  
js table操作 -------- 移动行 document.title
=tr1.cells[2].childNodes[0].name+" name:value "+tr1.cells[2].childNodes[0].value+" *** "+tr2.cells[2].childNodes[0].name+" name:value "+tr2.cells[2].childNodes[0].value;
js table操作 -------- 移动行;
js table操作 -------- 移动行  document.getElementById(
"info").innerHTML=tr1.cells[2].childNodes[0].name+" name:value "+tr1.cells[2].childNodes[0].value+" *** "+tr2.cells[2].childNodes[0].name+" name:value "+tr2.cells[2].childNodes[0].value;
js table操作 -------- 移动行;
js table操作 -------- 移动行}

js table操作 -------- 移动行
js table操作 -------- 移动行
/*
js table操作 -------- 移动行Author:jarry
js table操作 -------- 移动行E-mail:jarryli@gmail.com
js table操作 -------- 移动行MSN:jiarry@hotmail.com
js table操作 -------- 移动行Copyright@http://jiarry.blogchina.com http://jiarry.126.com
js table操作 -------- 移动行Modified date:June 2006
js table操作 -------- 移动行All right reserved!
js table操作 -------- 移动行
*/

js table操作 -------- 移动行
/*
js table操作 -------- 移动行document.onclick=show;
js table操作 -------- 移动行 function show(){
js table操作 -------- 移动行  var o=document.listform.listTd;
js table操作 -------- 移动行   for(var j=0;j<document.listform.listTd.length;j++){
js table操作 -------- 移动行    if(document.listform.listTd[j].checked)
js table操作 -------- 移动行    {
js table操作 -------- 移动行    
js table操作 -------- 移动行      alert(j+", "+document.listform.listTd[j].parentNode.parentNode.innerHTML);
js table操作 -------- 移动行    
js table操作 -------- 移动行    }
js table操作 -------- 移动行  }   
js table操作 -------- 移动行 }
js table操作 -------- 移动行 
*/

js table操作 -------- 移动行 
function SetRow(dir){
js table操作 -------- 移动行 
var o;
js table操作 -------- 移动行 
var start=false;
js table操作 -------- 移动行 
var num=0;
js table操作 -------- 移动行
js table操作 -------- 移动行 
for(var j=0;j<document.listform.listTd.length;j++){
js table操作 -------- 移动行    
if(document.listform.listTd[j].checked)
js table操作 -------- 移动行    
{
js table操作 -------- 移动行    
//alert(document.listform.listTd[j].parentNode.parentNode.innerHTML);
js table操作 -------- 移动行
    o=document.listform.listTd[j];
js table操作 -------- 移动行    start
=true;
js table操作 -------- 移动行    
//num=j;//这样得到的j在firefox下有问题;很怪;只好用下面的方法了;
js table操作 -------- 移动行
    //alert(document.listform.listTd[j].parentNode.parentNode.cells[0].innerHTML);
js table操作 -------- 移动行
    //num=parseInt(document.listform.listTd[j].parentNode.parentNode.cells[0].innerHTML);//没有办法,只好通过这种方法来的到值了;
js table操作 -------- 移动行

js table操作 -------- 移动行     
//alert(document.listform.listTd[j].parentNode.parentNode.rowIndex);
js table操作 -------- 移动行
     num=document.listform.listTd[j].parentNode.parentNode.rowIndex;
js table操作 -------- 移动行    }

js table操作 -------- 移动行  }

js table操作 -------- 移动行 
js table操作 -------- 移动行 alert(document.listform.listTd.length
+" "+num);
js table操作 -------- 移动行 
js table操作 -------- 移动行 
if(!start)
js table操作 -------- 移动行 
{
js table操作 -------- 移动行  alert(
"请选择一个选项");return;
js table操作 -------- 移动行  }

js table操作 -------- 移动行 
if(num<=1 && dir=="up")
js table操作 -------- 移动行 
{
js table操作 -------- 移动行  alert(
"已经无法再向上");return;
js table操作 -------- 移动行 }
 
js table操作 -------- 移动行 
if(num>=(document.listform.listTd.length) && dir=="down")
js table操作 -------- 移动行 
{
js table操作 -------- 移动行  alert(
"已经无法再向下");return;
js table操作 -------- 移动行 }

js table操作 -------- 移动行 
js table操作 -------- 移动行 
//alert(num+":"+(document.listform.listTd.length-1));
js table操作 -------- 移动行
 
js table操作 -------- 移动行
js table操作 -------- 移动行
js table操作 -------- 移动行 
var p = o.parentNode.parentNode;
js table操作 -------- 移动行 
//var oldIndex=o.parentNode.parentNode.rowIndex;
js table操作 -------- 移动行
 //alert(o.parentNode.parentNode.parentNode.rows[oldIndex].innerHTML)
js table操作 -------- 移动行

js table操作 -------- 移动行 
var trs = document.getElementById("listTable").getElementsByTagName("tr");
js table操作 -------- 移动行 o1
=trs[p.rowIndex]; 
js table操作 -------- 移动行 
var tdLen=trs[p.rowIndex].cells.length;
js table操作 -------- 移动行 o1a.length
=tdLen;
js table操作 -------- 移动行 o2a.length
=tdLen;
js table操作 -------- 移动行 
js table操作 -------- 移动行 
for(var i=0;i<tdLen;i++){
js table操作 -------- 移动行   o1a[i]
=trs[p.rowIndex].cells[i].innerHTML;
js table操作 -------- 移动行   
if(dir=="down"){
js table操作 -------- 移动行      o2a[i]
=trs[p.rowIndex+1].cells[i].innerHTML;
js table操作 -------- 移动行      
//trs[p.rowIndex+1].cells[1].childNodes[0].checked=true;
js table操作 -------- 移动行
      }

js table操作 -------- 移动行   
else{
js table操作 -------- 移动行     o2a[i]
=trs[p.rowIndex-1].cells[i].innerHTML;
js table操作 -------- 移动行      
//trs[p.rowIndex-1].cells[1].childNodes[0].checked=true;
js table操作 -------- 移动行
     }

js table操作 -------- 移动行  }

js table操作 -------- 移动行 
if(dir=="down"){
js table操作 -------- 移动行   o2
=trs[p.rowIndex+1];
js table操作 -------- 移动行  
// num=num+1;
js table操作 -------- 移动行
 }
else{
js table操作 -------- 移动行   o2
=trs[p.rowIndex-1];
js table操作 -------- 移动行  
// num=num-1;
js table操作 -------- 移动行
 }

js table操作 -------- 移动行
js table操作 -------- 移动行  switchTd(o1,o2,num);
js table操作 -------- 移动行
js table操作 -------- 移动行}

js table操作 -------- 移动行
/*
js table操作 -------- 移动行function switchTd1(tr1,tr2){ 
js table操作 -------- 移动行 //alert(tr1.cells[2].childNodes[0].name)
js table操作 -------- 移动行 //alert(o2a[2].childNodes[0].value);
js table操作 -------- 移动行 for(x=0;x<o1a.length;x++){  
js table操作 -------- 移动行  tr1.cells[x].innerHTML=o2a[x];
js table操作 -------- 移动行  tr1.cells[0].innerHTML=o1a[0];
js table操作 -------- 移动行  //tr2.cells[x].innerHTML=o1a[x];
js table操作 -------- 移动行 // tr2.cells[0].innerHTML=o2a[0];
js table操作 -------- 移动行 // tr1.cells[1].childNodes[0].checked=true;  
js table操作 -------- 移动行  //alert(o1a[0]+"||"+o2a[0]);
js table操作 -------- 移动行  //alert(tr2.cells[1].childNodes[0].name+""+tr1.cells[1].childNodes[0].name);  
js table操作 -------- 移动行 // tr1.cells[2].childNodes[0].name="p"+o1a[0]; 
js table操作 -------- 移动行  //tr2.cells[2].childNodes[0].name="p"+o2a[0];  
js table操作 -------- 移动行  }
js table操作 -------- 移动行  
js table操作 -------- 移动行 tr1.className="tr";
js table操作 -------- 移动行 tr2.className="";  
js table操作 -------- 移动行 //var trs = document.getElementById("listTable").getElementsByTagName("tr");
js table操作 -------- 移动行 //alert(o1a[2]+"||"+o2a[2]);
js table操作 -------- 移动行 //alert(trs[0].innerHTML+""+trs[1].innerHTML)
js table操作 -------- 移动行 //document.title=tr1.cells[2].childNodes[0].name+" name:value "+tr1.cells[2].childNodes[0].value+" *** "+tr2.cells[2].childNodes[0].name+" name:value "+tr2.cells[2].childNodes[0].value;
js table操作 -------- 移动行;
js table操作 -------- 移动行}
js table操作 -------- 移动行
*/

js table操作 -------- 移动行
/*
js table操作 -------- 移动行function insertTd(ftd,otd){ 
js table操作 -------- 移动行 alert(o1.innerHTML+""+o2.innerHTML);
js table操作 -------- 移动行 for(x=0;x<ftd.cells.length;x++){  
js table操作 -------- 移动行  otd.cells[x].innerHTML=o1.cells[x].innerHTML;
js table操作 -------- 移动行  ftd.cells[x].innerHTML=o2.cells[x].innerHTML;
js table操作 -------- 移动行  }
js table操作 -------- 移动行 
js table操作 -------- 移动行}
js table操作 -------- 移动行
*/

js table操作 -------- 移动行
js table操作 -------- 移动行 
/*
js table操作 -------- 移动行 var str1 = trs[p.rowIndex].innerHTML;
js table操作 -------- 移动行 var str2 = trs[p.rowIndex+1].innerHTML;
js table操作 -------- 移动行 
js table操作 -------- 移动行 //var cp = p.cloneNode(true);
js table操作 -------- 移动行 //document.getElementById("listTable").insertBefore(cp, trs[p.rowIndex + 1]);
js table操作 -------- 移动行// document.getElementById("listTable").insertRow[p.rowIndex].appendChild(str1);
js table操作 -------- 移动行// document.getElementById("listTable").insertBefore(trs[p.rowIndex+1], trs[p.rowIndex]);
js table操作 -------- 移动行//document.getElementById("listTable").appendChild();
js table操作 -------- 移动行 
js table操作 -------- 移动行 //alert(str1+"||"+str2+"|"+p+"|"+p.rowIndex);
js table操作 -------- 移动行 //alert(trs[p.rowIndex].cells[1].innerHTML)
js table操作 -------- 移动行// insertTd(trs[p.rowIndex],o2);
js table操作 -------- 移动行// insertTd(trs[p.rowIndex],trs[p.rowIndex+1]);
js table操作 -------- 移动行 //trs[3].innerHTML=str2;
js table操作 -------- 移动行 //alert(trs[p.rowIndex].innerHTML)// = str2;
js table操作 -------- 移动行 //alert(p.rowIndex)
js table操作 -------- 移动行 //trs[p.rowIndex + 1].innerHTML = str1;
js table操作 -------- 移动行 
*/

js table操作 -------- 移动行
js table操作 -------- 移动行 
</script><form name="listform" action="">
js table操作 -------- 移动行 
<table width="" border="0" cellspacing="0" cellpadding="0">
js table操作 -------- 移动行  
<tr>
js table操作 -------- 移动行    
<td ><table width="100%" border="0" cellspacing="1" cellpadding="0" id="listTable" bgcolor="#D57501">
js table操作 -------- 移动行  
<tr align="center" bgcolor="#FFFFFF">
js table操作 -------- 移动行    
<td height="24">排名</td>
js table操作 -------- 移动行    
<td width=100>选择</td>
js table操作 -------- 移动行    
<td>您认为金牌总数的排名将是?</td>
js table操作 -------- 移动行  
</tr>
js table操作 -------- 移动行  
<tr align="center" bgcolor="#FFFFFF" id="1">
js table操作 -------- 移动行    
<td>1</td>
js table操作 -------- 移动行    
<td><input name="listTd" type="radio" value="radiobutton" id="radio1"></td>
js table操作 -------- 移动行    
<td><input name="p1" type="hidden" value="中国">
js table操作 -------- 移动行      中国
</td>
js table操作 -------- 移动行  
</tr>
js table操作 -------- 移动行  
<tr align="center" bgcolor="#FFFFFF">
js table操作 -------- 移动行    
<td>2</td>
js table操作 -------- 移动行    
<td><input name="listTd" type="radio" value="radiobutton" id="radio2"></td>
js table操作 -------- 移动行    
<td><input type="hidden" name="p2" value="美国">
js table操作 -------- 移动行      美国
</td>
js table操作 -------- 移动行  
</tr>
js table操作 -------- 移动行  
<tr align="center" bgcolor="#FFFFFF" id="3">
js table操作 -------- 移动行    
<td>3</td>
js table操作 -------- 移动行    
<td><input name="listTd" type="radio" value="radiobutton" id="radio3"></td>
js table操作 -------- 移动行    
<td><input type="hidden" name="p3" value="俄罗斯">
js table操作 -------- 移动行      俄罗斯
</td>
js table操作 -------- 移动行  
</tr>
js table操作 -------- 移动行  
<tr align="center" bgcolor="#FFFFFF">
js table操作 -------- 移动行    
<td>4</td>
js table操作 -------- 移动行    
<td><input name="listTd" type="radio" value="radiobutton" id="radio4"></td>
js table操作 -------- 移动行    
<td><input type="hidden" name="p4" value="法 国">
js table操作 -------- 移动行      法 国
</td>
js table操作 -------- 移动行  
</tr>
js table操作 -------- 移动行  
<tr align="center" bgcolor="#FFFFFF">
js table操作 -------- 移动行    
<td>5</td>
js table操作 -------- 移动行    
<td><input name="listTd" type="radio" value="radiobutton" id="radio5"></td>
js table操作 -------- 移动行    
<td><input type="hidden" name="p5" value="德 国">
js table操作 -------- 移动行      德 国
</td>
js table操作 -------- 移动行  
</tr>
js table操作 -------- 移动行  
<tr align="center" bgcolor="#FFFFFF">
js table操作 -------- 移动行    
<td>6</td>
js table操作 -------- 移动行    
<td><input name="listTd" type="radio" value="radiobutton" id="radio6"></td>
js table操作 -------- 移动行    
<td><input type="hidden" name="p6" value="英 国">
js table操作 -------- 移动行      英 国
</td>
js table操作 -------- 移动行  
</tr>
js table操作 -------- 移动行  
<tr align="center" bgcolor="#FFFFFF">
js table操作 -------- 移动行    
<td>7</td>
js table操作 -------- 移动行    
<td><input name="listTd" type="radio" value="radiobutton" id="radio7"></td>
js table操作 -------- 移动行    
<td><input type="hidden" name="p7" value="日 本">
js table操作 -------- 移动行      日 本
</td>
js table操作 -------- 移动行  
</tr>
js table操作 -------- 移动行  
<tr align="center" bgcolor="#FFFFFF">
js table操作 -------- 移动行    
<td>8</td>
js table操作 -------- 移动行    
<td><input name="listTd" type="radio" value="radiobutton" id="radio8"></td>
js table操作 -------- 移动行    
<td><input type="hidden" name="p8" value="韩 国">
js table操作 -------- 移动行      韩 国
</td>
js table操作 -------- 移动行  
</tr>
js table操作 -------- 移动行  
<tr align="center" bgcolor="#FFFFFF">
js table操作 -------- 移动行    
<td>9</td>
js table操作 -------- 移动行    
<td><input name="listTd" type="radio" value="radiobutton" id="radio9"></td>
js table操作 -------- 移动行    
<td><input type="hidden" name="p9" value="瑞 典">
js table操作 -------- 移动行      瑞 典
</td>
js table操作 -------- 移动行  
</tr>
js table操作 -------- 移动行  
<tr align="center" bgcolor="#FFFFFF">
js table操作 -------- 移动行    
<td>10</td>
js table操作 -------- 移动行    
<td><input name="listTd" type="radio" value="radiobutton" id="radio10"></td>
js table操作 -------- 移动行    
<td><input type="hidden" name="p10" value="西班牙">
js table操作 -------- 移动行      西班牙
</td>
js table操作 -------- 移动行  
</tr>
js table操作 -------- 移动行  
<tr align="center" bgcolor="#FFFFFF">
js table操作 -------- 移动行    
<td>11</td>
js table操作 -------- 移动行    
<td><input name="listTd" type="radio" value="radiobutton" id="radio10"></td>
js table操作 -------- 移动行    
<td><input type="hidden" name="p10" value="澳大利亚">
js table操作 -------- 移动行      澳大利亚
</td>
js table操作 -------- 移动行  
</tr>
js table操作 -------- 移动行
</table></td>
js table操作 -------- 移动行    
<td width="322" valign="top"><href="javascript:SetRow('up');" class="btlink2"  onclick="">↑向上移动</a><div style="margin-top:10px"><href="javascript:SetRow('down');" class="btlink" onclick="">↓向下移动</a></div></td>
js table操作 -------- 移动行  
</tr>
js table操作 -------- 移动行
</table>
js table操作 -------- 移动行
<script type="text/javascript">
js table操作 -------- 移动行
js table操作 -------- 移动行
js table操作 -------- 移动行
var s=0,first;
js table操作 -------- 移动行
var lt=document.forms["listform"].listTd;
js table操作 -------- 移动行
while(s<lt.length){
js table操作 -------- 移动行 lt[s].onclick
=function(){   
js table操作 -------- 移动行     
if(this.checked){
js table操作 -------- 移动行        setbg(
this);
js table操作 -------- 移动行     }
 
js table操作 -------- 移动行 }

js table操作 -------- 移动行 lt[s].parentNode.parentNode.cells[
1].onclick=function(){
js table操作 -------- 移动行 
//如果点击了radio的td;
js table操作 -------- 移动行
   this.childNodes[0].checked=true;
js table操作 -------- 移动行   setbg(
this.childNodes[0]);
js table操作 -------- 移动行 }

js table操作 -------- 移动行  lt[s].parentNode.parentNode.cells[
1].onmouseover=function(){
js table操作 -------- 移动行    
this.bgColor="red";
js table操作 -------- 移动行  }

js table操作 -------- 移动行   lt[s].parentNode.parentNode.cells[
1].onmouseout=function(){
js table操作 -------- 移动行    
this.bgColor="";
js table操作 -------- 移动行  }

js table操作 -------- 移动行 s
++;
js table操作 -------- 移动行}

js table操作 -------- 移动行
var trs = document.getElementById("listTable").getElementsByTagName("tr");
js table操作 -------- 移动行
js table操作 -------- 移动行
function setbg(obj){
js table操作 -------- 移动行  
//alert(obj.parentNode.parentNode.innerHTML);
js table操作 -------- 移动行
  /*
js table操作 -------- 移动行  var first = trs[1];
js table操作 -------- 移动行  first.className="";
js table操作 -------- 移动行  first = obj.parentNode.parentNode;
js table操作 -------- 移动行  first.className="tr";
*/

js table操作 -------- 移动行  
var t=1;
js table操作 -------- 移动行  
while(t<trs.length){
js table操作 -------- 移动行  se
=obj.parentNode.parentNode;
js table操作 -------- 移动行  
if(trs[t]!=se)trs[t].className="";
js table操作 -------- 移动行  se.className
="tr";
js table操作 -------- 移动行  t
++;
js table操作 -------- 移动行  }

js table操作 -------- 移动行}

js table操作 -------- 移动行
</script>
js table操作 -------- 移动行
</form>
js table操作 -------- 移动行
本文转自博客园执着的笨蛋的博客,原文链接:js table操作 -------- 移动行,如需转载请自行联系原博主。

上一篇:Memory


下一篇:centos 7图形命令行界面切换