我在一个元素中工作,其中有很多 js 程序,如下所示:
if (show)
$('.some-element').css('display', 'block');
else
$('.some-element').css('display', 'none');
当我不想要求 .some-element
在可见时使用 display: block;
时,我该如何实现同样的事情?
.some-element
可能被设计为使用 display: inline-block;
或 display: flex;
。
限制:
- 我不希望元素在隐藏时占用任何空间。出于这个原因,我认为流行的方法
visibility: none;
和opacity: 0;
是行不通的。 - 我不想在 js 中保存任何状态,例如记住原始显示属性值。
最佳答案
这样做
if (show)
$('.some-element').css('display', '');
else
$('.some-element').css('display', 'none');
此代码 ($('.some-element').css('display', '');
) 将删除内联 display: none
属性,在不需要的时候。
关于javascript - 当我不确定元素使用显示 :block when visible? 时替代显示切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50820843/