日期:2014-05-16  浏览次数:20390 次

表格中的td通过js来显示和隐藏,在firefox中colspan将不起作用

由于我是关注后台的,对页面前台不是很关注,就导致我的页面布局就是table(主流的布局为div+css),就导致了上面标题所示的问题。

我在页面加载的时候,将表格中id="showPic"的列隐藏,在用js代码document.getElementById("showPic").style.display = "block";将id="showPic"的列显示出来,但是问题出来了,因为id="showPic"的列中有一个属性colspan="4",当id="showPic"这列显示出来的时候,在IE下面colspan="4"能起作用,但在firefox下面colspan="4" 就不起作用了,最后我的解决方案是将document.getElementById("showPic").style.display = "block";改为document.getElementById("showPic").style.display = "";

最后我将出现这个问题原因进行了分析:

1、IE:
    当动态给TD设置colspan属性时要写成:tdObj.setAttribute("colSpan","4")或tdObj.colSpan=4;
    如果设置为:tdObj.setAttribute("colspan","4")或tdObj.colspan=4,就会失败

   当获取TD的colspan属性时:tdObj.getAttribute("colSpan")或tdObj.getAttribute("colSpan")
   或tdObj.colSpan;如果通过tdObj.colspan就会失败。

   总之:colspan属性要写成colSpan,也不能写成colspan。

2、FF:
     FF获取colSpan的值是和IE中的情况是一样的。。但是动态的给td设置colSpan属性好像没有起作用。