IE,谷歌,遨游,火狐兼容的万能合并单元格方法
2012-01-13 17:05
246 查看
http://www.oschina.net/code/snippet_219817_7949
代码][JavaScript]代码
01 | //tb:要合并单元格的表格;stacol:开始合并列;endcol:结束合并列;bool:合并方式(true代表stacol与endcol之间合并;false代表两边和并);num标记列(防止某些信息因为内容相同而合并。eg,姓名相同而编号不同的两个人) |
02 | function uniteTable(tb,stacol,endcol,bool,num) |
03 | { var end; |
04 | var i=0; |
05 | var j=0; |
06 | var rowCount=tb.rows.length; //行数 |
07 | var colCount=tb.rows[0].cells.length; //列数 |
08 | var obj1= null ; |
09 | var obj2= null ; |
10 | var n=5; |
11 | var count= new Array(); |
12 | for (i=0;i<rowCount;i++){ |
13 | for (j=0;j<colCount;j++){ |
14 | tb.rows[i].cells[j].id= "tb__" +i+ "_" +j; |
15 | } |
16 | } |
17 | //合并标记列,防止某些信息因为内容相同而合并(不需要时,可以不用传值) |
18 | if ( typeof (num)!= 'undefined' ){ |
19 | obj1=document.getElementById( "tb__0_" +(num-1).toString()); |
20 | for ( var t=1;t<rowCount;t++){ |
21 | obj2=document.getElementById( "tb__" +t.toString()+ "_" +(num-1).toString()); |
22 | if (obj1.innerHTML==obj2.innerHTML){ |
23 | obj1.rowSpan++; |
24 | obj2.parentNode.removeChild(obj2); |
25 | } else { |
26 | count[t]=n; //当第一个人的名称合并结束时,给count[t]赋值做标记 |
27 | obj1=document.getElementById( "tb__" +t.toString()+ "_" +(num-1).toString());} |
28 | } |
29 |
30 | } |
31 | //如果endcol未定义,代码将最终一列定义为endcol |
32 | //if(typeof(endcol)=='undefined'){end=colCount;}else{end=endcol} |
33 | for (i=0;i<colCount;i++){ |
34 | //bool:合并方式,true代表两边合并;false代表中间合并 |
35 | if (bool){ if (i+1<stacol||i+1>endcol){ continue ;}} |
36 | else { if (i+1>stacol&&i+1<endcol){ continue ;}} |
37 | obj1=document.getElementById( "tb__0_" +i.toString()); |
38 | for (j=1;j<rowCount;j++){ |
39 | obj2=document.getElementById( "tb__" +j.toString()+ "_" +i.toString()); |
40 | if ( typeof (count[j])!= 'undefined' ){ |
41 | if (count[j]!=n){ |
42 | if (obj1.innerHtml==obj2.innerHtml){obj1.rowSpan++; |
43 | obj2.parentNode.removeChild(obj2);} |
44 | else {obj1=document.getElementById( "tb__" +j.toString()+ "_" +i.toString());} |
45 | } else {obj1=document.getElementById( "tb__" +j.toString()+ "_" +i.toString());} |
46 | } |
47 | else { if (obj1.innerHTML==obj2.innerHTML){ |
48 | obj1.rowSpan++; |
49 | obj2.parentNode.removeChild(obj2); |
50 | } |
51 | else {obj1=document.getElementById( "tb__" +j.toString()+ "_" +i.toString());} |
52 | } |
53 | } |
54 | } |
55 |
相关文章推荐
- 兼容ie 谷歌 火狐的获取焦点失去焦点方法
- jquery html() 方法,在ie下与火狐谷歌兼容问题
- js在当前光标处插入特定字符 兼容ie、火狐、谷歌、360、NETSCAPE等浏览器
- Iframe自适应高度绝对好使的代码IE,遨游,火狐都兼容,测试过
- IE和Firefox(火狐)在JavaScript方面的不兼容及统一方法总结
- css实现兼容火狐、IE的LI奇偶行颜色交替方法
- 完美兼容火狐ie等主流浏览器回车键登录方法
- JS 密码强度验证(兼容IE,火狐,谷歌)
- 常用的兼容IE和火狐FF等浏览器的js方法
- iFrame自适应高度(兼容IE、谷歌、火狐、搜狗、opera、safari)
- IE和谷歌(火狐)浏览器兼容获取内部样式表和外部样式表的样式
- Ajax获取XmlHttpRequest对象的方法,兼容IE、火狐。用来与服务器进行通信。
- IE与火狐的一些兼容问题与解决方法
- 目前Lodop支持IE系列、IE内核系列(遨游、360、世界之窗、腾讯TT、搜狗等)浏览器,以及Firefox(火狐)系列、Chrome(谷歌)系列、Opera系列、Safari系列等Windows下
- IE和Firefox(火狐)在JavaScript方面的不兼容及统一方法
- 兼容firefox,ie,谷歌,阻止浏览器冒泡事件,Firefox不支持event解决方法
- 兼容火狐、谷歌及IE的Javascript漂浮广告代码
- IE和Firefox(火狐)在JavaScript方面的不兼容及统一方法总结
- 设为首页加入收藏兼容360/火狐/谷歌/IE等主流浏览器的代码 详细出处参考:http://www.jb51.net/article/35063.htm
- 站内搜索 高亮显示关键字(兼容火狐 谷歌 ie)