<table>
<tr>
<td rowspan='3'>a</td>
<td>a1.1</td>
<td>a1.2</td>
</tr>
<tr>
<td>a2.1</td>
<td>a2.2</td>
</tr>
<tr>
<td>a3.1</td>
<td>a3.2</td>
</tr>
</table>
当第二行上移动时,只需把 a1.1、 a1.2 和 a2.1 、a2.2 进行位置互换就可以了。
这代码怎么处理?

解决方案 »

  1.   

    //动态删除 和增加
    document.createElement
    doucmnet.remove
      

  2.   

    从代码上可以看出 第一行 和其他两行的元素数量是不同的。
    因为rowspan 的关系,所以移动行会有不同。
    第二行上移 只需把 第一行的 后两个TD 和 第二行的 TD 交换就行了
    其他行 向上移动,则 直接把 整个TR 上移即可【这个部分我已经实现了,就差 一二行的单元格交换】 
      

  3.   


    因为第一行第一列按照需求是不能动的。<td rowspan='3'>a</td>
    所以才会有 第一行和第二行 交换的特殊情况
      

  4.   

    不是拖拽
    看类容就知道是一个树形数据
    a   a1.1
         a1.2
         a1.3
    只要实现 a1.1,a1.2,a1.3 能互换位置
      

  5.   

    看表格,第二 三行 可以直接交换位置, 但是 1 ,2行就不行,如果直接强行交换 表格就会错位的。
    所以只能交换 TD
    <table>
    <tr>
    <td rowspan='3'>a</td>
    <td>a1.1</td>
    <td>a1.2</td>
    </tr>
    <tr>
    <td>a2.1</td>
    <td>a2.2</td>
    </tr>
    <tr>
    <td>a3.1</td>
    <td>a3.2</td>
    </tr>
    </table>
      

  6.   

    其实我现在的问题 只要实现  a1.1 a1.2 的TD 和 a2.1 a2.1 的TD 交换位置即可。
    ** td 均绑有事件**
    <tr>
    <td rowspan='3'>a</td>
    <td>a1.1</td>
    <td>a1.2</td>
    </tr>
    <tr>
    <td>a2.1</td>
    <td>a2.2</td>
    </tr>
      

  7.   

    大哥,其实我一直都在问  
    实现 a1.1 a1.2 的TD 和 a2.1 a2.1 的TD 交换位置是你想多了
    换行我都实现了
      

  8.   

    如果有事件,就重新绑定吧,单纯交换单元格,绑定的事件也是不会存在的了
    var a=单元格.clone(true);//复制
    row.插入到某单元格之前或之后(row的某个单元格,a)
      

  9.   


    <script>
    window.onload=function(){
      var a1_1=document.getElementById("a1.1") ;
      var a1_2=document.getElementById("a1.2") ;
      var a2_1=document.getElementById("a2.1") ;
      var a2_2=document.getElementById("a2.2") ;
      var text_a1_1=a1_1.firstChild.nodeValue ;
      var text_a1_2=a1_2.firstChild.nodeValue ;
      var text_a2_1=a2_1.firstChild.nodeValue ;
      var text_a2_2=a2_2.firstChild.nodeValue ;
      //alert(text_a1_1) ;
      a1_1.firstChild.nodeValue=text_a2_1 ;
      a1_2.firstChild.nodeValue=text_a2_2 ;
      a2_1.firstChild.nodeValue=text_a1_1 ;
      a2_2.firstChild.nodeValue=text_a1_2 ;
    }
    </script>
    <table border="1">
    <tr>
    <td rowspan='3'>a</td>
    <td id="a1.1">a1.1</td>
    <td id="a1.2">a1.2</td>
    </tr>
    <tr>
    <td id="a2.1">a2.1</td>
    <td id="a2.2">a2.2</td>
    </tr>
    <tr>
    <td>a3.1</td>
    <td>a3.2</td>
    </tr>
    </table>