感谢大虾!如何使用javascript实现在网页上合并和拆分表格,如何利用srcELEMENT.innerHTMl的属性 有必要合并和拆分表格吗?怎么操作?event.srcElement.innerHTML 是当前鼠标事件源的 对象的 html 代码 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <table border="1" width="100%" id=tab1 onmousedown=tabStart() onmouseup=tabEnd()> <tr> <td width="25%">111</td> <td width="25%">111</td> <td width="25%"> </td> <td width="25%"> </td> </tr> <tr> <td width="25%">222</td> <td width="25%"> </td> <td width="25%"> </td> <td width="25%"> </td> </tr> <tr> <td width="25%"> </td> <td width="25%"> </td> <td width="25%"> </td> <td width="25%"> </td> </tr></table><p>从第<input type="text" name="col1" size="4">列到第<input type="text" name="col2" size="4">列 从第<input type="text" name="row1" size="4">行到第<input type="text" name="row2" size="4">行<input type="button" value="合并" onclick=doTab()></p> <script> function doTab(){ x1=col1.value-1; x2=col2.value-1; y1=row1.value-1; y2=row2.value-1; if (x1==x2 && y1==y2) return; htmlstr=""; xspan=0; yspan=0; for (i=x1;i<=x2;i++) xspan+=tab1.rows[y1].cells[i].colSpan; for (i=y1;i<=y2;i++) yspan+=tab1.rows[i].cells[x1].rowSpan; for (i=y1;i<=y2;i++) { htmlstr+="<br>"; for(j=x1;j<=x2;j++){ htmlstr+=tab1.rows[i].cells[j].innerHTML; } } htmlstr=htmlstr.substr(4); for (i=y1;i<=y2;i++){ j=x1; while (j<x2){ tab1.rows[i].deleteCell(x1); j++; } tab1.rows[i].cells[x1].colSpan=xspan; } for (i=y2;i>y1;i--){ tab1.rows[i].deleteCell(x1); } tab1.rows[y1].cells[x1].rowSpan=yspan; tab1.rows[y1].cells[x1].innerHTML=htmlstr; //alert(htmlstr); } function tabStart(){ obj=window.event.srcElement; col1.value=obj.cellIndex+1; col2.value=col1.value; row1.value=obj.parentElement.rowIndex+1; row2.value=row1.value; } function tabEnd(){ obj=window.event.srcElement; col2.value=obj.cellIndex+1; row2.value=obj.parentElement.rowIndex+1; } </script> linhaibo(美洲豹) 谢谢你,我这的确需要合并和拆分表格,请帮忙。。谢谢谢谢 to weidegong: 最好注明谁写的程序,尊重原作者http://www.csdn.net/Expert/TopicView1.asp?id=656074 去哪儿网的一道面试题 JS 给table外面加层DIV XML空节点 For循环的优化 ASP中如何将多行的查询结果转化成JSON字符串,JS这边又如何取值 如何取得页面上所有文本域的对象? 模式窗口关闭问题 如何用Javascript脚本来检测是否安装了一个插件 求javascript日历控件。 子窗体问题 由于误操作,请回答:五一节小游戏:点击一个按钮,刷新当前页,你能有几种办法?问题的来拿分! 这个调用方法:alert(JScriptSoapClient("/ws.asmx?WSDL").CreateWebService("ws").HelloWord());
<tr>
<td width="25%">111</td>
<td width="25%">111</td>
<td width="25%"> </td>
<td width="25%"> </td>
</tr>
<tr>
<td width="25%">222</td>
<td width="25%"> </td>
<td width="25%"> </td>
<td width="25%"> </td>
</tr>
<tr>
<td width="25%"> </td>
<td width="25%"> </td>
<td width="25%"> </td>
<td width="25%"> </td>
</tr>
</table>
<p>从第<input type="text" name="col1" size="4">列到第<input type="text" name="col2" size="4">列
从第<input type="text" name="row1" size="4">行到第<input type="text" name="row2" size="4">行<input type="button" value="合并" onclick=doTab()></p>
<script>
function doTab(){
x1=col1.value-1;
x2=col2.value-1;
y1=row1.value-1;
y2=row2.value-1;
if (x1==x2 && y1==y2) return;
htmlstr="";
xspan=0;
yspan=0;
for (i=x1;i<=x2;i++) xspan+=tab1.rows[y1].cells[i].colSpan;
for (i=y1;i<=y2;i++) yspan+=tab1.rows[i].cells[x1].rowSpan;
for (i=y1;i<=y2;i++) {
htmlstr+="<br>";
for(j=x1;j<=x2;j++){
htmlstr+=tab1.rows[i].cells[j].innerHTML;
}
}
htmlstr=htmlstr.substr(4);
for (i=y1;i<=y2;i++){
j=x1;
while (j<x2){
tab1.rows[i].deleteCell(x1);
j++;
}
tab1.rows[i].cells[x1].colSpan=xspan;
}
for (i=y2;i>y1;i--){
tab1.rows[i].deleteCell(x1);
}
tab1.rows[y1].cells[x1].rowSpan=yspan;
tab1.rows[y1].cells[x1].innerHTML=htmlstr;
//alert(htmlstr);
}
function tabStart(){
obj=window.event.srcElement;
col1.value=obj.cellIndex+1;
col2.value=col1.value;
row1.value=obj.parentElement.rowIndex+1;
row2.value=row1.value;
}
function tabEnd(){
obj=window.event.srcElement;
col2.value=obj.cellIndex+1;
row2.value=obj.parentElement.rowIndex+1;
}
</script>
谢谢你,我这的确需要合并和拆分表格,请帮忙。。谢谢谢谢