html - 如果隐藏子 div,则将父 div 设置为隐藏

标签 html css angularjs

我正在使用 angular,我需要使用 ng-show 指令来控制 div 的可见性。考虑下面的 dom 树:

<div ng-show="var1">
  <div ng-switch="condition">
    <div ng-switch-when=true>
      <div ng-show="var2"></div>
    </div>
    <div ng-switch-default>
      <div ng-show="var3"></div>
    </div>
  </div>
</div>

现在当 var1 本身为 false 时就没问题了。但是当 var1 为真并且 var2var3 取决于 condition 也为假时,div 实际上是空的但它确实显示在网页上,因为 var1 是真的。如果 child 也被隐藏,我希望父 div 继承 display:none

最佳答案

我会使用一个简单的 AND 和 OR 语句,这样:

<div ng-show="var1 && (var2 || var3)">
  <div ng-switch="condition">
    <div ng-switch-when=true>
      <div ng-show="var2"></div>
    </div>
    <div ng-switch-default>
      <div ng-show="var3"></div>
    </div>
  </div>
</div>

因此只有当其中一个子项“启用”且可见时,您实际的父级 div 才会显示。

附言

小心,你在第二行打错了,ng-shitch

关于html - 如果隐藏子 div,则将父 div 设置为隐藏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48163628/

相关文章:

javascript - 除了网址之外

javascript - 他们如何用带有数字和字符的小盒子制作图标?

javascript - 使用指令范围更新 Highcharts

jquery - 滚动距离顶部 20px 时需要修复 div

javascript - 每次单击 jQuery 中的一个子 li 时,如何获取父 li?

javascript - 覆盖 span 元素的边框样式

javascript - 如何在加载模板时使用 angularjs 压缩 HTML

javascript - $http.get(...).success 不是函数

html - 在 twitter-bootstrap 中更改事件 "nav-pills"颜色

html - 设置不透明度的背景在 Chrome 和 Opera 中是实心的而不是透明的