<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 进行位置互换就可以了。
这代码怎么处理?
<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 进行位置互换就可以了。
这代码怎么处理?
document.createElement
doucmnet.remove
因为rowspan 的关系,所以移动行会有不同。
第二行上移 只需把 第一行的 后两个TD 和 第二行的 TD 交换就行了
其他行 向上移动,则 直接把 整个TR 上移即可【这个部分我已经实现了,就差 一二行的单元格交换】
因为第一行第一列按照需求是不能动的。<td rowspan='3'>a</td>
所以才会有 第一行和第二行 交换的特殊情况
看类容就知道是一个树形数据
a a1.1
a1.2
a1.3
只要实现 a1.1,a1.2,a1.3 能互换位置
所以只能交换 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>
** 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>
实现 a1.1 a1.2 的TD 和 a2.1 a2.1 的TD 交换位置是你想多了
换行我都实现了
var a=单元格.clone(true);//复制
row.插入到某单元格之前或之后(row的某个单元格,a)
<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>