css - 如何在CSS中选择没有后代li的div?

标签 css

<分区>

如果 div 不包含任何 li 后代,我想使用 CSS 隐藏它。

鉴于此:

<div>
   I should be visible (red)
   <ul>
     <li>one</li>
   </ul>
</div>

<div>
  I should be hidden (blue)
  <ul></ul>
</div>

我可以使用什么 CSS 来选择第二个 div 并应用 display:none(或 border:1px solid blue for this demo)?

这是一个 fiddle :https://jsfiddle.net/7yab2z27/

最佳答案

您可能会考虑在这种情况下使用 JS,查看我的代码可能会有所帮助。不要忘记包括

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.2.3/jquery.min.js"></script>

我在这里找到了你的答案: jQuery to hide a DIV if it has no unordered list items

$(document).ready(function() {

  $('#seconddiv').hide();
  $('#seconddiv').has('ul').show();
});
#seconddiv {
  display: block;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.2.3/jquery.min.js"></script>
<div id="seconddiv">
  You cant see me I dont have unordered list lol!
  <ul>
    <li></li>
  </ul>
</div>

关于css - 如何在CSS中选择没有后代li的div?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36613187/

上一篇:php - 我的购物车产品添加和减去无法正常工作

下一篇:javascript - jQuery addClass/removeClass 在调试期间工作但不正常执行

相关文章:

css - 垂直对齐 2 个并排自动宽度 DIV 的内容

css - 加载异步列表时如何在 Angular2 中使用 CSS 微调器?

css - 如何在保持 webkit-box-shadow 的同时使图像具有填充?

css - 将图像资源引用为 CSS 背景图像 url

html - CSS:before 对某些元素不起作用,:after 可以正常工作

javascript - 页面中的多个 (9) 选项卡,明智与否?

css - 将 Logo 放在菜单左侧

javascript - 按下按钮时隐藏的复选框出现(正确),但再次按下时不会消失

jquery - 为菜单/导航栏制作滚动按钮

javascript - CSS 有两个列表,同步它们的垂直滚动,同时允许一个列表水平滚动