用sort和appendChild操作,sort的时候最好是个二维的,方便后面

解决方案 »

  1.   

    可以去重写sort,也可以自行处理,依你当开的心情,呵呵,开玩笑,下面是个简单的例子:<script language="javascript" type="text/javascript">

    function sa()
    {
    var t = new Array();
    var utb = document.getElementById("utb");
    var cells = utb.getElementsByTagName("TD"); for (var i=0; i<cells.length; i++)
    { t.push(cells[i].innerText); }
    t.sort();
    for (var j=0;j<t.length ;j++ )
    { cells[j].innerText = t[j]; }
    return true;
    } </script>
    </HEAD><BODY>
    <input type="button" value="升序" onclick="return sa();">
    <TABLE id="utb" width="50%" border="1">
    <TR>
    <TD>5</TD>
    <TD>4</TD>
    <TD>3</TD>
    <TD>1</TD>
    <TD>2</TD>
    </TR>
    </TABLE>
    </BODY>
    </HTML>
      

  2.   

    <table id=t border=1><tr>
        <td>3</td>    <td>2</td>    <td>1</td>
    </tr></table>
    <script language="javascript">
    var row = document.getElementById("t").rows[0];
    var len = row.cells.length;
    var list = new Array(len);
    for(var i=0;i<len;i++)
      list[i] = row.removeChild(row.cells[0]);
    function compare(a,b){return a.innerHTML-b.innerHTML;}
    list.sort(compare);
    for(var i=0;i<len;i++)
      row.appendChild(list[i]);
    </script>
      

  3.   

    function f(old,new){//如果是多行,外面套上个循环
      old = old-1;
      new = new-1;
      var row = document.getElementById("t").rows[0];
      var cell = row.removeChild(row.cells[old]);
      row.insertBefore(cell,row.cells[new]);
    }
    ...
    <... onclick="f(2,1);">
    <... onclick="f(4,1);">
      

  4.   

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    <HEAD>
    <TITLE> New Document </TITLE>
    <META NAME="Generator" CONTENT="EditPlus">
    <META NAME="Author" CONTENT="">
    <META NAME="Keywords" CONTENT="">
    <META NAME="Description" CONTENT="">
    <script language="javascript">
    function func(){
      var aa=document.getElementById("div1")
      if(aa){
    aa.removeNode(true);
      }
    }
    function GetIndexValue(a){
        alert(a.rowIndex)   //
    alert(a.childNodes[0].cellIndex) //
    }
    function func1(a){
      // alert(a)
       var row=new Array();
       var len = document.getElementById("utb").rows.length;
       for(var i=0;i<len;i++){
          // alert(i)
           row[i] = document.getElementById("utb").rows[i];
       // alert(row[i].childNodes.length)
       if(a<row[i].childNodes.length){
        
          var cell= row[i].cells[a-1]
      row[i].removeChild(row[i].cells[a-1]);
      //row[i].appendChild(cell);
      row[i].insertBefore(cell,row[i].cells[0]);
       }
       }}
    </script>
    </HEAD><BODY>
    <div id="div1">aaaaa</div>
    <input type="button" value="aaa" onclick="func()">
    <table>
    <tr onclick="GetIndexValue(this)">
    <td>aaa</td>
    </tr>
    </table>
    <TABLE id="utb" width="50%" border="1">
    <TR>
    <TD>5</TD>
    <TD>4</TD>
    <TD>3</TD>
    <TD>1</TD>
    <TD>2</TD>
    </TR>
    <TR>
    <TD>5</TD>
    <TD>4</TD>
    <TD>3</TD>
    <TD>1</TD>
    <TD>2</TD>
    </TR>
    </TABLE>
    <input type="button" value="2" onclick="func1(this.value)">
    <input type="button" value="3" onclick="func1(this.value)">
    </BODY>
    </HTML>
    参考fosjos(无聊的菜鸟程序员) ( ) 信誉:100    Blog