Firefox、chrome下隐藏表格行不能使用block

Firefox下隐藏表格行不能使用block

如下一段代码,在IE下能正常执行,但在Firefox下执行却有点不正常:
<script language="javascript">
function TestBlack(TagName){
var obj = document.getElementById(TagName);
if(obj.style.display=="block"){
   obj.style.display = "none";
}else{
   obj.style.display = "block";
}
}
</script>
<table width="760" border="0" cellspacing="0" cellpadding="0">
    <tr onclick="TestBlack(‘divb‘);">
        <td width="760" height="20" bgcolor="#00CCFF">Click Me!</td>
    </tr>
    <tr id="divb" style="display:block;">
        <td width="760" height="60" bgcolor="#9966FF"></td>
    </tr>
</table>

有网友说可能是CSS对表格的处理能力比较弱,个人认为不然,因为上边代码在IE却是能正常执行的;也有网友说是因为在Firefox中执行"display:none;"后没有回收"display:block;"开辟的页面空间,下次再执行"display:block;"又会在页面上重新创建显示空间,这种解释也站不住脚,如下代码当在div上使用时Firefox执行是正常的:
<script language="javascript">
function TestBlack(TagName){
var obj = document.getElementById(TagName);
if(obj.style.display=="block"){
   obj.style.display = "none";
}else{
   obj.style.display = "block";
}
}
</script>
<div style=" width:760px; height:20px;" onclick="TestBlack(‘diva‘);">Click Me!</div>
<div id="diva" style="width:760px; height:60px; display:block;"></div>

目前为止还没找到一个可信的原因,但那并不意味着在在Firefox下就无法动态的显示/隐藏表格行,有细心的网友发现使用‘style.display="";‘代替‘style.display="block";‘就能正常执行了:
<script language="javascript">
function TestBlack(TagName){
var obj = document.getElementById(TagName);
if(obj.style.display==""){
   obj.style.display = "none";
}else{
   obj.style.display = "";
}
}
</script>
<table width="760" border="0" cellspacing="0" cellpadding="0">
    <tr onclick="TestBlack(‘divc‘);">
        <td width="760" height="20" bgcolor="#00CCFF">Click Me!</td>
    </tr>
    <tr id="divc">
        <td width="760" height="60" bgcolor="#9966FF"></td>
    </tr>
</table>

Firefox、chrome下隐藏表格行不能使用block

时间: 2024-08-10 00:07:52

Firefox、chrome下隐藏表格行不能使用block的相关文章

关于chrome下input中Enter的keydown事件会自动提交form的疑问与解决

当页面有<form>操作时,浏览器会有默认的响应enter键就提交form表单. 看html代码 <form action="http://www.7k7k.com"> <input type="text"> 当你在input框里输入后,按enter键,就会默认提交form, 但实际需求并不是这样的,比如在input输入时会有弹出的suggestion选项让用户选择,用户按了enter键后并不想直接提交,所以需要在部分逻辑下需要取

dojo中表格行隐藏出错

1.错误描述 TypeError:role._by_idx[e.rowIndex].hide is not a function           (54 out of range 3) 2.错误原因 3.解决办法 dojo中表格行隐藏出错,布布扣,bubuko.com

windows下自动启动Redis隐藏命令行窗口

这段时间看了看关于Redis的相关内容,对于Redis在windows下的安装和常规启动我就不多说了.可以参考其他的博客http://www.cnblogs.com/edisonchou/p/3821228.html.我按照这篇博客的方法添加启动Redis的windows服务,但是在启动服务的时候,会报错:错误1053:服务没有及时响应启动或控制请求.如下图: 我查了相关资料,有的人说是因为windows8系统权限问题.我就想能不能绕过这个错误,实现自动启动Redis,而不用再命令行中启动. 一

解决SWFUpload在Chrome、Firefox浏览器下session找不到的问题

SWFUpload是一个非常不错的异步上传组件,但是在Chrome.Firefox等浏览器下使用的时候会有问题.问题如下:为了防止跳过上传页面直 接向“接受SWFUpload上传的一般处理程序”(假如是Upload.ashx)发送请求造成WebShell漏洞,我的系统中对于 Upload.ashx进行了权限控制,只有登录用户才能进行上传.在IE下没问题,但是在Chrome下运行报错“用户未登录”. 经过搜索得知:因为SWFUpload是靠Flash进行上传的,Flash在IE下会把当前页面的Co

IE下设置unselectable与onselectstart属性的bug,Firefox与Chrome下的解决方案

在IE下给DIV设置unselectable与onselectstart属性,可以让div的内容不能选中,这个功能在很多情况下,非常有用,但是他的bug太明显, 直接使用一个DIV是可以的,比如: [html] view plaincopy <div unselectable="on" onselectstart="return false;">不能选中的内容</div> 但是假如在这个DIV前面在出现一个普通的DIV,那就有问题了,比如:

兼容ie6及以上和firefox等标准浏览器的表格行滑过时背景色切换的效果

一.js代码——"tablehover.js" /**      *②.表格单元行滑过时高亮样式动效组件封装      *oop形式封装交互动效类      *组件说明这个组件是为了向下兼容到IE6,因为IE6不支持tr:hover这种形式的伪类,而在ff等标准浏览器中是支持的,这样写:      .tablelist td{border:none;border-bottom: 1px solid #d0d9d9;}//注意:td初始状态下是不给背景色的,滑过时才写      所以这段

div+css 兼容ie6 ie7 ie8 ie9和FireFox Chrome等浏览器方法(非原创)

div+css 兼容ie6 ie7 ie8 ie9和FireFox Chrome等浏览器方法 1.DOCTYPE 影响 CSS 处理 2.FF: div 设置 margin-left, margin-right 为 auto 时已经居中, IE 不行 3.FF: body 设置 text-align 时, div 需要设置 margin: auto(主要是 margin-left,margin-right) 方可居中 4.FF: 设置 padding 后, div 会增加 height 和 wi

{转}div+css 兼容ie6 ie7 ie8 ie9和FireFox Chrome等浏览器方法

div+css 兼容ie6 ie7 ie8 ie9和FireFox Chrome等浏览器方法 1.DOCTYPE 影响 CSS 处理 2.FF: div 设置 margin-left, margin-right 为 auto 时已经居中, IE 不行 3.FF: body 设置 text-align 时, div 需要设置 margin: auto(主要是 margin-left,margin-right) 方可居中 4.FF: 设置 padding 后, div 会增加 height 和 wi

AppBoxPro - 细粒度通用权限管理框架(可控制表格行内按钮)源码提供下载

特别声明: 提供的源代码已经包含了 AppBoxPro 的全部源代码,用 VS2012 打开项目后,直接 Ctrl+F5 可以运行起来(默认使用VS自带的LocalDB数据库). FineUIPro是商业程序,仅包含v1.7.0公测版的DLL:当然你也可以自行把 FineUIPro 换成 FineUI(开源版),开源版下载地址. AppBoxPro 是基于 FineUIPro 和 Entity Framework 的通用权限管理框架,包括用户管理.职称管理.部门管理.角色管理.角色权限管理等模块