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 = https://www.questions.com.cn/dnjc/$(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 = https://www.questions.com.cn/dnjc/$(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);

相關經驗推薦