javascript合并表格單元格實(shí)例代碼
本文為大家介紹了一段來(lái)源于網(wǎng)絡(luò)上的代碼實(shí)例,能夠合并單元格,下面和大家分享一下,希望能夠給需要的朋友或多或少帶來(lái)一定的幫助。
代碼實(shí)例如下:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8"/>
<title>表格單元格合并代碼</title>
<script type="text/javascript">
function autoRowSpan(tb,row,col){
var lastValue="";
var value="";
var pos=1;
for(var i=row;i<tb.rows.length;i++){
value=tb.rows[i].cells[col].innerText;
if(lastValue==value){
tb.rows[i].deleteCell(col);
tb.rows[i-pos].cells[col].rowSpan=tb.rows[i-pos].cells[col].rowSpan+1;
pos++;
}
else{
lastValue=value;
pos=1;
}
}
}
window.onload=function(){
var tb=document.getElementById("tb");
autoRowSpan(tb,0,0)
}
</script>
</head>
<body>
<table id="tb" border="1">
<thead>
<tr >
<td>國(guó)家</td>
<td>地區(qū)</td>
</tr>
</thead>
<tr>
<td>中國(guó)</td>
<td>河南</td>
</tr>
<tr>
<td>中國(guó)</td>
<td>四川</td>
</tr>
<tr>
<td>中國(guó)</td>
<td>北京</td>
</tr>
<tr>
<td>美國(guó)</td>
<td>紐約</td>
</tr>
<tr>
<td>美國(guó)</td>
<td>洛杉磯</td>
</tr>
<tr>
<td>英國(guó)</td>
<td>倫敦</td>
</tr>
</table>
</body>
</html>
在為大家分享一段:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>合并表格</title>
<script>
///////////////////////////////////////////////
//功能:合并表格
//參數(shù):tb-需要合并的表格ID
//參數(shù):colLength--需要對(duì)前幾列進(jìn)行合并,比如,
//想合并前兩列,后面的數(shù)據(jù)列忽略合并,colLength應(yīng)為2
//缺省表示對(duì)全部列合并
//data:2011.11.06
///////////////////////////////////////////////
function uniteTable(tb,colLength){
//檢查表格是否規(guī)整
if(!checkTable(tb)) return;
var i=0;
var j=0;
var rowCount=tb.rows.length; //行數(shù)
var colCount=tb.rows[0].cells.length; //列數(shù)
var obj1=null;
var obj2=null;
//為每個(gè)單元格命名
for(i=0;i<rowCount;i++){
for(j=0;j<colCount;j++){
tb.rows[i].cells[j].id="tb__" + i.toString() + "_" + j.toString();
}
}
//逐列檢查合并
for(i=0;i<colCount;i++){
if(i==colLength) return;
obj1=document.getElementById("tb__0_"+i.toString())
for(j=1;j<rowCount;j++){
obj2=document.getElementById("tb__"+j.toString()+"_"+i.toString());
if(obj1.innerText==obj2.innerText){
obj1.rowSpan++;
obj2.parentNode.removeChild(obj2);
}else{
obj1=document.getElementById("tb__"+j.toString()+"_"+i.toString());
}
}
}
}
/////////////////////////////////////////
//功能:檢查表格是否規(guī)整
//參數(shù):tb--需要檢查的表格ID
//data: 2011.11.06
/////////////////////////////////////////
function checkTable(tb){
if(tb.rows.length==0) return false;
if(tb.rows[0].cells.length==0) return false;
for(var i=0;i<tb.rows.length;i++){
if(tb.rows[0].cells.length!=tb.rows[i].cells.length) return false;
}
return true;
}
</script>
</head>
<body>
<table width="400" border="1" id="table1">
<tr>
<td>a</td>
<td>for</td>
<td>100</td>
<td>200</td>
<td>1</td>
</tr>
<tr>
<td>a</td>
<td>for</td>
<td>100</td>
<td>300</td>
<td>2</td>
</tr>
<tr>
<td>a</td>
<td>if</td>
<td>100</td>
<td>200</td>
<td>3</td>
</tr>
<tr>
<td>a</td>
<td>if</td>
<td>300</td>
<td>230</td>
<td>4</td>
</tr>
<tr>
<td>a</td>
<td>if</td>
<td>320</td>
<td>230</td>
<td>5</td>
</tr>
</table>
<br><input type="button" value="合并表格" onClick="uniteTable(table1,4)">
</body>
</html>
希望本文所述對(duì)大家學(xué)習(xí)javascript程序設(shè)計(jì)有所幫助。
相關(guān)文章
javascript 主動(dòng)派發(fā)事件總結(jié)
有時(shí)需要模仿用戶的一些動(dòng)作(鼠標(biāo)/鍵盤操作),最常見(jiàn)的莫過(guò)于鼠標(biāo)點(diǎn)擊。一一列舉2011-08-08
詳解JavaScript如何有效取消HTTP請(qǐng)求
在Web開(kāi)發(fā)中,取消HTTP請(qǐng)求是一項(xiàng)關(guān)鍵任務(wù),所以本文為大家介紹了如何使用XMLHttpRequest、Fetch和Axios這三種常用的HTTP請(qǐng)求方式來(lái)實(shí)現(xiàn)取消請(qǐng)求的功能,需要的可以參考下2023-09-09
簡(jiǎn)體中文轉(zhuǎn)換繁體中文(實(shí)現(xiàn)代碼)
本篇文章主要是對(duì)簡(jiǎn)體中文轉(zhuǎn)換繁體中文的實(shí)現(xiàn)代碼進(jìn)行了介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2013-12-12
js+flash實(shí)現(xiàn)的5圖變換效果廣告代碼(附演示與demo源碼下載)
這篇文章主要介紹了js+flash實(shí)現(xiàn)的5圖變換效果廣告代碼,涉及JavaScript結(jié)合flash調(diào)用圖片實(shí)現(xiàn)幻燈廣告效果,并附帶演示與demo源碼供讀者下載參考,需要的朋友可以參考下2016-04-04
js null undefined 空區(qū)別說(shuō)明
js里面這三種東西總是讓人疑惑,特此整理一下2010-06-06

