我有多個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