我想構建一個簡單的jQuery過濾器系統來顯示和隱藏各種類別的元素。jQuery - 簡單的過濾系統 - 如何選擇沒有特定類的元素?
問題是某些元素屬於多個類別,即使其中一個過濾器關閉,也應保持可見。
我能想到的最合理的解決方案是,在切換過濾項目後,查看哪些類別仍然設置爲可見,並隱藏不可見的元素。
因此,我的問題在於試圖弄清楚如何選擇沒有任何給定類的元素。
我試圖找到檢查類別(每個過濾器項目都有一個ID:過濾CATEGORY_NAME):
$('.filter-checked').each(function(){
checkedCategories = checkedCategories + ('.' + $(this).attr('id').replace('filter','category'));
});
然後淡出不具有類項目的元素不再檢查:
$(filterCategory).filter(function(){
return $(not(checkedCategories));
}).fadeTo(500,0.1);
其中:
var filterCategory = '.'+$(this).attr('id').replace('filter','category');
(這是被點擊的過濾器項目)
我在想,主要的問題在於試圖找到具體項目,沒有任何類別的項目,仍然檢查,但除了解決問題用我目前的解決方案,如果有一個明顯的,更優雅的方式來解決這個問題,那將是太棒了。
謝謝!
我已經在過濾器中使用了not方法,應該如何使用not方法來正確地執行我所需要的操作? – waffl
好吧,我設法弄清楚了,我用過濾器過濾了一些東西。簡單地通過不使用和選擇多個類,它的工作! $(filterCategory).not(checkedCategories).fadeTo(500,0.1);' – waffl
嗯,除了現在我有一個問題,其中not方法只是作爲一個AND(這是否有意義?) - 我只想選擇**不包含任何** **的**類**的元素,但它看起來像傳遞not方法多個類只返回不包含** all **的元素checkedCategories ...任何想法? – waffl