ie9崩溃现象当js设置tr元素样式为display:none
发布时间:2013-02-20 16:48:04 作者:佚名 我要评论
在css测试中遇到一个ie9的bug:用js设置tr元素的样式为display:none 会引起ie崩溃,很是郁闷,于是网上搜罗一下终于找到了解决方法,晒出来与大家分享,感兴趣的你可不要错过了哈
遇到一个ie9的bug:用js设置tr元素的样式为display:none 会引起ie崩溃。
查了一下,(感谢bing)得到国外的一个解决方法
然后我自己又封装了一下:
function hideTR(element)
{
if ($.browser.msie)
{
if ($.browser.version == "9.0")
{
var po = null;
var loopObj = null;
for (loopObj = element; loopObj.tagName != "BODY"; loopObj = loopObj.parentNode)
{
if (loopObj.tagName == "TABLE")
{
po = loopObj;
break;
}
}
if (po == null) return;
var initValue = $(po).css("border-collapse");
$(po).css("border-collapse", "separate");
$(element).css("display", "none");
$(po).css("border-collapse", initValue);
}
else
{
$(element).css("display", "none");
}
}
else
{
$(element).css("display", "none");
}
}
以后写代码$(element).css("display","none");
就变成了hideTR(element);。
查了一下,(感谢bing,鄙视百度)得到国外的一个解决方法
然后我自己又封装了一下:
function hideTR(element)
{
if ($.browser.msie)
{
if ($.browser.version == "9.0")
{
var po = null;
var loopObj = null;
for (loopObj = element; loopObj.tagName != "BODY"; loopObj = loopObj.parentNode)
{
if (loopObj.tagName == "TABLE")
{
po = loopObj;
break;
}
}
if (po == null) return;
var initValue = $(po).css("border-collapse");
$(po).css("border-collapse", "separate");
$(element).css("display", "none");
$(po).css("border-collapse", initValue);
}
else
{
$(element).css("display", "none");
}
}
else
{
$(element).css("display", "none");
}
}
以后写代码$(element).css("display","none");
就变成了hideTR(element);
查了一下,(感谢bing)得到国外的一个解决方法
然后我自己又封装了一下:
复制代码
代码如下:function hideTR(element)
{
if ($.browser.msie)
{
if ($.browser.version == "9.0")
{
var po = null;
var loopObj = null;
for (loopObj = element; loopObj.tagName != "BODY"; loopObj = loopObj.parentNode)
{
if (loopObj.tagName == "TABLE")
{
po = loopObj;
break;
}
}
if (po == null) return;
var initValue = $(po).css("border-collapse");
$(po).css("border-collapse", "separate");
$(element).css("display", "none");
$(po).css("border-collapse", initValue);
}
else
{
$(element).css("display", "none");
}
}
else
{
$(element).css("display", "none");
}
}
以后写代码$(element).css("display","none");
就变成了hideTR(element);。
查了一下,(感谢bing,鄙视百度)得到国外的一个解决方法
然后我自己又封装了一下:
复制代码
代码如下:function hideTR(element)
{
if ($.browser.msie)
{
if ($.browser.version == "9.0")
{
var po = null;
var loopObj = null;
for (loopObj = element; loopObj.tagName != "BODY"; loopObj = loopObj.parentNode)
{
if (loopObj.tagName == "TABLE")
{
po = loopObj;
break;
}
}
if (po == null) return;
var initValue = $(po).css("border-collapse");
$(po).css("border-collapse", "separate");
$(element).css("display", "none");
$(po).css("border-collapse", initValue);
}
else
{
$(element).css("display", "none");
}
}
else
{
$(element).css("display", "none");
}
}
以后写代码$(element).css("display","none");
就变成了hideTR(element);
相关文章
IE/火狐/Chrome操作display:none对象所遇问题解答
display:none在IE、火狐、Chrome等主流浏览器中的一些问题想必大家也有碰到过吧,接下来为大家详细图文介绍下,感兴趣的朋友可以参考下哈希望可以帮助到你2013-03-28css元素隐藏原理及display:none和visibility:hidden
在CSS中,让元素隐藏指屏幕范围内肉眼不可见的方法很多,只不过有的依然保留空间,而有的却消失的不留痕迹,接下来本文将详细介绍下css元素隐藏原理,感兴趣的你可不要错过2013-02-27IE7下父元素及子元素的隐藏顺序不当带来的display:none出现BUG
IE7下,先隐藏父元素,后隐藏子元素,再显示父元素,被隐藏的子元素重叠区域下面, 存在另一个可见的元素,则该display:none的子元素出现BUG;接下来介绍一下发生经过,感兴2013-01-19display:none和visibility:hidden的差别比较与演示代码
display:none和visibility:hidden的差别:visibility:hidden隐藏,但在浏览时保留位置;而CSS display:none视为不存在,且不加载,感兴趣的朋友可以研究下2012-12-30如何通过 display:olck/none 完成一个菜单栏
这篇文章主要介绍了如何通过 display:olck/none 完成一个菜单栏,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2021-02-18
最新评论