ie9崩潰現(xiàn)象當(dāng)js設(shè)置tr元素樣式為display:none
發(fā)布時(shí)間:2013-02-20 16:48:04 作者:佚名
我要評(píng)論

在css測(cè)試中遇到一個(gè)ie9的bug:用js設(shè)置tr元素的樣式為display:none 會(huì)引起ie崩潰,很是郁悶,于是網(wǎng)上搜羅一下終于找到了解決方法,曬出來與大家分享,感興趣的你可不要錯(cuò)過了哈
遇到一個(gè)ie9的bug:用js設(shè)置tr元素的樣式為display:none 會(huì)引起ie崩潰。
查了一下,(感謝bing)得到國外的一個(gè)解決方法
然后我自己又封裝了一下:
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,鄙視百度)得到國外的一個(gè)解決方法
然后我自己又封裝了一下:
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)得到國外的一個(gè)解決方法
然后我自己又封裝了一下:
復(fù)制代碼
代碼如下: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,鄙視百度)得到國外的一個(gè)解決方法
然后我自己又封裝了一下:
復(fù)制代碼
代碼如下: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);
相關(guān)文章
IE/火狐/Chrome操作display:none對(duì)象所遇問題解答
display:none在IE、火狐、Chrome等主流瀏覽器中的一些問題想必大家也有碰到過吧,接下來為大家詳細(xì)圖文介紹下,感興趣的朋友可以參考下哈希望可以幫助到你2013-03-28css元素隱藏原理及display:none和visibility:hidden
在CSS中,讓元素隱藏指屏幕范圍內(nèi)肉眼不可見的方法很多,只不過有的依然保留空間,而有的卻消失的不留痕跡,接下來本文將詳細(xì)介紹下css元素隱藏原理,感興趣的你可不要錯(cuò)過2013-02-27IE7下父元素及子元素的隱藏順序不當(dāng)帶來的display:none出現(xiàn)BUG
IE7下,先隱藏父元素,后隱藏子元素,再顯示父元素,被隱藏的子元素重疊區(qū)域下面, 存在另一個(gè)可見的元素,則該display:none的子元素出現(xiàn)BUG;接下來介紹一下發(fā)生經(jīng)過,感興2013-01-19display:none和visibility:hidden的差別比較與演示代碼
display:none和visibility:hidden的差別:visibility:hidden隱藏,但在瀏覽時(shí)保留位置;而CSS display:none視為不存在,且不加載,感興趣的朋友可以研究下2012-12-30如何通過 display:olck/none 完成一個(gè)菜單欄
這篇文章主要介紹了如何通過 display:olck/none 完成一個(gè)菜單欄,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-02-18