用display隐藏Tabale的tr行 在Firefox中问题的解决办法
2014-11-20 14:24
169 查看
HTML文件:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
var i =1;
function change()
{
var dd = 'tr'+i;
document.all(dd).style.display="none";
i ++;
}
var j =1 ;
function changeadd()
{
var dd = 'tr'+ j ;
document.all(dd).style.display="block";
j ++;
}
//-->
</SCRIPT>
</HEAD>
<BODY>
<TABLE border="1">
<TR id ="tr1">
<TD>w</TD>
<TD>w</TD>
<TD>w</TD>
<TD>w</TD>
<TD>w</TD>
</TR>
<TR id ="tr2">
<TD>s</TD>
<TD>d</TD>
<TD>d</TD>
<TD>d</TD>
<TD>d</TD>
</TR>
<TR id ="tr3">
<TD>333</TD>
<TD>33</TD>
<TD>3</TD>
<TD>3</TD>
<TD>3</TD>
</TR>
<TR id ="tr4">
<TD>55</TD>
<TD>5</TD>
<TD>5</TD>
<TD>5</TD>
<TD>555</TD>
</TR>
</TABLE>
<BUTTON onclick="change();"> 去除一行</BUTTON>
<BUTTON onclick="changeadd();"> 增加一行 </BUTTON>
</BODY>
</HTML>
以上代码在ie中正常,但是在FireFox和Safari中就会出错。
问题:
在Firefox中执行后"display:none;"没有回收"display:block;"开辟的页面空间,
下次再执行"display:block;"又会在页面上重新创建显示空间。
原因:
The reason it "appears" to work with IE is probably because IE is
error-correcting the display property for you.As others have implied,
IE has no concept of the table-row value. In fact,Microsoft's documentation
(<URL:http://msdn.microsoft.com/workshop/author/dhtml/reference/properties/display.asp>)
clearly states that all block-like elements (with a few exceptions) have
'block' as their display value, contrary to specification.
解决:
将代码
style.display="block";
修改为
style.display="";
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
var i =1;
function change()
{
var dd = 'tr'+i;
document.all(dd).style.display="none";
i ++;
}
var j =1 ;
function changeadd()
{
var dd = 'tr'+ j ;
document.all(dd).style.display="block";
j ++;
}
//-->
</SCRIPT>
</HEAD>
<BODY>
<TABLE border="1">
<TR id ="tr1">
<TD>w</TD>
<TD>w</TD>
<TD>w</TD>
<TD>w</TD>
<TD>w</TD>
</TR>
<TR id ="tr2">
<TD>s</TD>
<TD>d</TD>
<TD>d</TD>
<TD>d</TD>
<TD>d</TD>
</TR>
<TR id ="tr3">
<TD>333</TD>
<TD>33</TD>
<TD>3</TD>
<TD>3</TD>
<TD>3</TD>
</TR>
<TR id ="tr4">
<TD>55</TD>
<TD>5</TD>
<TD>5</TD>
<TD>5</TD>
<TD>555</TD>
</TR>
</TABLE>
<BUTTON onclick="change();"> 去除一行</BUTTON>
<BUTTON onclick="changeadd();"> 增加一行 </BUTTON>
</BODY>
</HTML>
以上代码在ie中正常,但是在FireFox和Safari中就会出错。
问题:
在Firefox中执行后"display:none;"没有回收"display:block;"开辟的页面空间,
下次再执行"display:block;"又会在页面上重新创建显示空间。
原因:
The reason it "appears" to work with IE is probably because IE is
error-correcting the display property for you.As others have implied,
IE has no concept of the table-row value. In fact,Microsoft's documentation
(<URL:http://msdn.microsoft.com/workshop/author/dhtml/reference/properties/display.asp>)
clearly states that all block-like elements (with a few exceptions) have
'block' as their display value, contrary to specification.
解决:
将代码
style.display="block";
修改为
style.display="";
相关文章推荐
- 用display隐藏Tabale的tr行 在Firefox中问题的解决办法
- ie firefox chrome 用display隐藏Tabale的tr
- 在table中tr的display:block在firefox下显示布局错乱问题
- 在table中tr的display:block在firefox下显示布局错乱问题 收藏
- 在table中tr的display:block在firefox下显示布局错乱问题
- 在table中tr的display:block在firefox下显示布局错乱问题
- 整理:firefox的margin-top问题解决办法
- 表格中tr的隐藏与显示问题使用tbody解决
- 在table中tr的display:block在firefox下显示布局错乱问题
- IE6 / IE7 / Firefox 的margin问题解决办法
- JavaScript的常见兼容问题及相关解决办法chrome IE firefox
- IE6、IE7、Firefox中margin问题解决办法
- Firefox 启动慢等问题解决办法
- firefox浏览shtml时直接显示源代码问题解决办法
- Servlet实现下载 firefox下文件名有空格时,文件名会被截断 问题解决办法
- (转)IE6/IE7/IE8/Firefox的CSS各种兼容margin问题解决办法
- IE6 / IE7 / Firefox 的margin问题解决办法
- Firefox启动慢等问题解决办法
- uploadify 3.1 /3.2 在Firefox,Chrome 浏览器下,进入页面请求两次问题解决办法。
- Delphi中模态窗口切换时隐藏问题的解决办法