javascript - 如何在应用显示 :none with jQuery 后正确显示元素

标签 javascript jquery css

我遇到了一个非常棘手的问题,我无法在通过点击事件添加 display:none 后触发下拉菜单。我之前尝试通过悬停事件将其添加回来,但在某些浏览器中似乎一直触发,所以我放弃了它并完全卡住了。使用以下代码,如何在切换显示属性后再次正确显示下拉菜单。

$(document).ready(function() {
    $('li.active ul.sub-menu.dropdown a').click(function() { 
        if($("li.active ul.sub-menu.dropdown").css("display", "block")){
           $("li.active ul.sub-menu.dropdown").hide();
        }
    });
})

很抱歉之前问过类似的问题,但我之前并没有真正理解这个问题。如果我越界了,我深表歉意,但我真的被困住了。非常感谢任何帮助。

最佳答案

您是否尝试过只使用 .toggle()

$(document).ready(function() {
    $('li.active ul.sub-menu.dropdown a').click(function() { 
        $("li.active ul.sub-menu.dropdown").toggle();
    });
})

它会自动检查元素是否可见,然后切换显示属性。

关于javascript - 如何在应用显示 :none with jQuery 后正确显示元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37126155/

相关文章:

javascript - 如何使用 AngularJS 使输出数据动态结构化?

jquery - 溢出 : hidden did not hide

javascript - 是否可以使用 Javascript 和/或 CSS 让用户点击某个元素?

css - Highcharts 工具提示自定义 CSS 将插入符号/箭头变为白色

javascript - 如何设置 Electron UserAgent

javascript - 在不刷新浏览器的情况下使用 replaceWith 同时单击按钮

javascript - 如何用 javascript 制作一个简单的范围选择器

jquery - 如何正确设置下拉菜单的样式

html - 居中图像 block

html - 如何在我的导航栏中将 'nav' 元素移动到 'navbar-brand' 下