javascript 合并单元格
有这样一个需求html页面,一个table表格每行相邻的列的内容相同就合并单元格
------解决方案--------------------既然你分了多个表格,就不是简单的单元格合并了。
而是做的像合并。
如果a ,b 两个表格相邻,
你可以把a表格的最后一个单元格,的右边框,和b表格的第一个左边框去掉,
然后两个表格之间margin为0 ,如果还没挨在一起,可是把第二的margin-left 设个负数、
最后如果要想这个单元格,的长度和其他一样,那么就a表格的最后一个单元格,b表格的第一个的长度都除以2.
保证两表格的的单元格高度一样,横向位置一样。
------解决方案--------------------用jquery 写的
标题用th 我合并前两列
<script type="text/javascript">
$(function(){
//合并相同内容的单元格
MergeSameTextRows('#table1');
});
//合并相同列的单元格、
function MergeSameTextRows(id){
var table = $(id);
var totalCols = table.find('tr:eq(0)').find('th:lt(3)').length;//合并前两列,可以修改
var totalRows = table.find('tr').length;
for(var i = totalCols-1;i>=1;i--){
spanNum = 1;
startCell = table.find('tr').eq(totalRows-1).find("td").eq(i);
for(var j =totalRows-1;j>=1;j-- ){
var targetCell = table.find('tr').eq(j-1).find("td").eq(i);
if(startCell.text()!=""&&startCell.text()==targetCell.text()){
spanNum++;
targetCell.attr('rowSpan',spanNum);
startCell.remove();
}else{
spanNum=1;
}
startCell = targetCell;
}
}
}
</script>
------解决方案--------------------做判断 是否使用 rowspan="2"
------解决方案--------------------<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>合并表格</title>
<script>
///////////////////////////////////////////////
//功能:合并表格
//参数:tb-需要合并的表格ID
//参数:colLength--需要对前几列进行合并,比如,
//想合并前两列,后面的数据列忽略合并,colLength应为2
//缺省表示对全部列合并
///////////////////////////////////////////////
function uniteTable(tb,colLength){
//检查表格是否规整
if(!checkTable(tb)) return;
var i=0;
var j=0;
var rowCount=tb.rows.length; //行数