javascript 控制 table tr display block 显示模式

有一个简单的 table:



 

<table >
 <tr >
 <th>编号</th>
 <th>类型</th>
 <th>详细</th>
 <th>创建时间</th>
 <th>修改时间</th>
 <th>操作</th>
 </tr>
 
 <tr>
 <td>5</th>
 <td>TECH</th>
 <td>测试内容</th>
 <td>2014−01−10 16:56:31</th>
 <td>−−</th>
 <td>修改 删除</th>
 </tr>
 
 <tr id="id_dync" style="display:none">
 <td colspan=6>
 <div id=xxxx >测试内容</div>
 </td>
 </tr>
 
</table>

 

希望通过 javascript 控制 第三 行的 tr 隐显状态:

 

 

 

var tr_modifing = document.getElementById( "id_dync" );
tr_modifing.style.display = "block";

 

这种将 style.display 设置成 block 后, 会出现 只对第一个单元格 td 有效的情况:



 

原因是 将 tr.style.display = “block” 后, 该 tr 就不是普通的 【表格】之【行】了, 而就像普通的 div 一样普通的块, 所以下面的 

<td colspan=6 >

 

也会随着失效, 正确的做法是 

var tr_modifing = document.getElementById( "id_dync" );
tr_modifing.style.display = "";

 

即 将 tr 的 显示模式设置为 空,这个属性dispaly后面不加任何的东西,很奇怪,这样就兼容了Firefox和IE了。 

 

----------------------------------------------华丽丽的分割线---------------------------------------------------------------------------

        现在要做一个table,在js中跟条件判断来显示或者隐藏table左侧的某些行,在table右侧跨行显示图片,探索中尝试过以下几种方法:

       (1)visiblility属性

document.getElementById( "控件ID ").style.visibility= "hidden "; 
document.getElementById( "控件ID ").style.visibility= "visible "; 

     隐藏后页面的位置还被控件占用,只是不显示,类似于.net验证控件的Display=Static,如此则影响美观,且影响右侧图片显示;

        (2)display属性

document.getElementById( "控件ID ").style.display= "none "; 
document.getElementById( "控件ID ").style.display= "inline "; 

     隐藏后页面的位置不被占用,类似于.net验证控件的Display=Dynamic。inline会显示为内联元素,且元素前后没有换行符,但隐藏后不能显示;

   

document.getElementById( "控件ID ").style.display= "block";

     此元素将显示为块级元素,此元素前后会带有换行符,但隐藏后不能显示;

 

document.getElementById( "控件ID ").style.display= "table-row";

     此元素会作为一个表格行显示(类似 <tr>),同样隐藏后不能显示

   

document.getElementById( "控件ID ").style.display= "";

     隐藏后可正常显示。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值