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