IE10下 .hide()隐藏对象不生效(其它所有主流浏览器都没这个问题)的处理方式

最近遇到了一个浏览器兼容性的一个问题,如题所示,

具体解决方式就是:

$('#btFrame').hide();

$('#btFrame').css('visibility','hidden');

如代码中标红部分,本来弄一个div包含object和frame的隐藏,其它浏览器下$('#btFrame').hide();就已经可以搞定了,

但是在ie10下就不生效了,请了公司专业的高级交互设计实现也没解决,最终加上$('#btFrame').css('visibility','hidden'); 进行了处理,

对应的显示用:

$('#btFrame').show();

$('#btFrame').css('visibility','visible');

hidden属性兼容老浏览器的方法

当一个网页元素有了hidden属性后,它的表现跟CSS的display: none;作用非常相似,元素将会消失,而且不占用任何页面空间。写法很简单:

代码如下:

<div hidden="hidden">You can't see me!</div>

如果你使用的是老式浏览器,不支持这个属性,你可以在CSS里添加下面的代码来支持它::

代码如下:

*[hidden] { display: none; }

那么,为什么要用hidden属性呢?意义在于语义上更有意义,对代码的可读性有提升。而且相对于CSS里的display:none,字面上更简单!


猜你喜欢

转载自blog.csdn.net/qq_30725371/article/details/80261006