我有一个包含一堆切换的菜单。每个项目切换不同的东西。
我正在尝试制作一个整体“重置”按钮,将一些东西重置为一些默认设置。我需要检测菜单项是否被切换,如果是,则在该特定项上执行一些代码,如果没有,则不执行任何操作。打开一个项目,它会获得一个 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 属性,我试图让它“单击”该项目,因为“单击”它基本上会再次将其关闭。