我有一个包含组的列表,并使用CSSOM使用文本字段动态过滤内容。这是一种仅使用CSS实现“搜索”的方法。
不幸的是,当过滤器过滤掉所有内容时,组容器仍然可见。我还需要以某种方式使用CSS将display: none
设置到它们上面,否则我需要添加一堆JS来控制它们。
这远程可能吗?我知道这是一个很长的镜头,但是有一个选择器可以选择其子项(适合某些选择器)所有必须选择其样式的元素吗?
如果我大大放松了约束,这可能是一个选择器来选择其子项(适合某些选择器)所有必须具有特定类的元素吗?
答案 0 :(得分:5)
不,只有通过CSS才能实现:
:not([style*="display:none"]):not([style*="display: none"])
之外没有可见性选择器。这只能使用纯JS循环和条件或通过.parent:not(:has(:visible))
等jQuery选择器来解决。