ie9 bug: 为tr设置 display none 崩溃

遇到一个ie9的bug:用js设置tr元素的样式为display:none 会引起ie崩溃。

查了一下,(感谢bing,鄙视百度)得到国外的一个解决方法http://stackoverflow.com/questions/11326697/tr-display-none-crashes-ie9

然后我自己又封装了一下:

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);

你可能感兴趣的:(display)