javascript - 当我不确定元素使用显示 :block when visible? 时替代显示切换

标签 javascript css

我在一个元素中工作,其中有很多 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/

相关文章:

javascript - Bootstrap 模态在滚动时自动关闭

css - 如何让 PhpStorm File Watcher 也监视子文件夹

css - 编写 CSS 过渡的最简洁的方式

javascript - 如何将用户从 NodeJS 服务器发布到页面?

javascript - 如何自动为 jquery 画廊制作动画

javascript - 如何使单选按钮显示/隐藏输入表单

css - 我如何使用 CSS 用 TD 中的元素覆盖 TR?

javascript - 如何使用 React hooks 处理/链接依赖于另一个的同步副作用

javascript - 如何将表格单元格中的背景颜色更改两秒钟?并返回默认值

javascript - 当它们属于同一个模块时,如何将 nestjs 服务注入(inject)另一个服务?