我有一個菜單,其中包含一堆切換。每個項目切換不同的東西。jQuery - 如果元素具有特定的CSS屬性,執行腳本
我想做一個整體「重置」按鈕,將幾件事重置爲某些默認設置。我需要檢測一個菜單項是否被切換,如果是的話,在該特定項上執行一些代碼,如果不是,則不執行任何操作。隨着項目處於啓用狀態,它得到一個CSS背景顏色,下面的論證,所以我想出了下面的復位代碼:
$('#app-menu ul.dynamic-items li ul li').toggle(function() {
$(this).css({background: "#4c581e"});
}, function() {
$(this).css({background: "none"});
});
/* Reset Button */
$(".reset").click(function() {
if($('#app-menu ul.dynamic-items li').css({background: "#4c581e"}) != null) {
$(this).click(); /* If the item has the background code mentioned above, it is toggled on, therefore this "click" should reset its state */
}
else {
// do nothing //
};
});
基本上我想說的是,如果一個菜單項具有#4c581e背景,這意味着它已打開,因此應該「點擊」將其切換爲關閉狀態。
問題是,它不工作。我對jQuery相當新穎,所以我想我做錯了什麼。
任何想法的人?
編輯:我只是想說明菜單項實際上切換頁面上的DIV元素,所以它不僅僅是重置菜單項的CSS樣式的問題。這就是爲什麼我試圖讓它「點擊」該項目,如果檢測到特定的CSS屬性,因爲「點擊」它將基本上再次關閉它。
它不只是一個,雖然重新應用默認類物質。菜單項切換頁面上的div元素,因此重置按鈕隱藏元素,並且還應該將菜單項背景顏色重置爲無,並重置切換狀態。這就是爲什麼我想要在菜單項上執行「點擊」。點擊該項目應該重置背景顏色並關閉相關的div元素。 –
啊,你可以在觸發點擊事件'$(this).hasClass(「active」);'之前檢查元素是否具有「active」類,這比檢查背景色更容易。 – silasjmatson