CSS:如果隐藏了所有子项,则隐藏父级

Ste*_* Lu 4 html css css-selectors

我有一个包含组的列表,并使用CSSOM使用文本字段动态过滤内容.这是一种仅使用CSS实现"搜索"的方法.

不幸的是,当过滤器过滤掉所有内容时,组容器仍然可见.我还需要以display: none某种方式使用CSS 设置它们,否则我需要添加一堆JS来控制它们.

这远程可能吗?我知道这是一个很长的镜头,但是有一个选择器可以选择其子项(适合一些选择器)所有必须选择它们的样式的元素吗?

如果我大大放松约束,甚至可能是一个选择器来选择其子项(适合某些选择器)所有必须具有特定类的元素,它是否可能?

Vad*_*kov 5

不,只有通过CSS才有可能:

  1. 没有父选择.
  2. 没有可见性选择器,除非:not([style*="display:none"]):not([style*="display: none"])您仅使用内联CSS隐藏元素.
  3. 没有CSS方法可以知道所有孩子是否满足某些条件.

这只能使用纯JS循环和条件或通过jQuery选择器来解决.parent:not(:has(:visible)).