ie9崩溃现象当js设置tr元素样式为display:none
脚本之家
遇到一个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);