通過javascript實現html中table儲存格的合并

來源:互聯網
上載者:User

/*<br />vMergeCell:縱向(垂直方向,vertical)合并(Merge)Table儲存格(Cell)<br />參數1 TableID:要操作的table的id;<br />參數2 ColList:要縱向合并的列IndexID的列表(例如:"0,1");<br />注意事項:<br />1.要操作的table須要有id,且不能與其它頁面元素的ID向相同;<br />2.依據ColList第一個值合并,調整見42行注釋<br />3.該函數強烈建議在window.onload()的調用<br />Yuanzy @2005-5-31 20:57<br />*/<br />function vMergeCell(TableID,ColList)<br />{<br />var ColArray = ColList.split(",");<br />var tTable = document.getElementById(TableID);//document.all[TableID];<br />var TableRowCnts=tTable.rows.length;<br />var tmpA;<br />var tmpB;<br />var PerTxt = "";<br />var CurTxt = "";<br />var alertStr = "";<br />//for (j=0;j<=ColArray.length-1 ;j++ )<br />//遍曆 要合并的列 ,並取得 其文本<br />//由於cell的indexID的排序由前至後(有左至右),為了不致影響,合并順序為有後至前(倒序迴圈)<br />for (j=ColArray.length-1;j>=0 ;j-- )<br />{<br />//當迴圈至某新的列時,變數複位。<br />PerTxt="";<br />tmpA=1;<br />tmpB=0;</p><p>//從第一行(表頭為第0行)開始迴圈,迴圈至行尾(溢出一位)<br />for (i=1;i<=TableRowCnts ;i++ )<br />{<br />if (i==TableRowCnts)<br />{<br />CurTxt="";<br />}<br />else<br />{<br />//可以嘗試將cells[0]中的0改成i,看看效果<br />CurTxt=tTable.rows[i].cells[0].innerHTML;<br />}<br />if (PerTxt==CurTxt)<br />{<br />tmpA+=1;<br />}<br />else<br />{<br />tmpB+=tmpA;<br />tTable.rows[i-tmpA].cells[ColArray[j]].rowSpan = tmpA;<br />for (a=i-tmpA+1;a<tmpB ;a++ )<br />{<br />tTable.rows[a].deleteCell(ColArray[j]);<br />}<br />tmpA=1;<br />}<br />PerTxt=CurTxt;<br />}<br />}<br />}<br />

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.