我有多个div,每个div有一个或多个类。这些类可以是info
,debug
,init
或auth
。过滤器应该隐藏或显示这些不同的类。显示/隐藏优先级的div
挑战:
Info
和Debug
比Init
或Auth
更高的优先级。因此,如果我们有以下div:<div class="info build">Info Build Text</div>
如果info
过滤器处于活动状态,则应将其隐藏,无论build
过滤器说什么。
在的jsfiddle表现出的问题: https://jsfiddle.net/7od81x0t/
- 取消选中的类别的复选框中的一个(AUTH) - >所有的 “Auth” Div时会消失,这是正确的
- 取消选中日志级别
Normal
- >所有左侧的“信息”的div就会消失,这是正确的,到目前为止 - 检查验证一遍,所有验证的div会再次出现(包括那些还含有的div信息类)。这是不正确的,因为日志级别应该对隐藏可见性具有更高的优先级。
我的想法来解决这个问题:
我想我可以通过使用!important
CSS属性解决这个问题,直到我看到show()
和hide()
操作DOM元素本身,而不是类。在我看来,没有像样的方法可以解决这个问题。
'!重要'覆盖甚至是内联样式(至少在我们使用的主要浏览器上) –
@GoneCoding除非内联同样重要。 –
您可以使用下面给出的':not(.info,.debug)'过滤器 – Aruna