繁体   English   中英

如果元素具有类,则将类添加到另一个元素

[英]If element has class add class to another element

不知道我是否做对了。 我有一个在打开和关闭之间切换的菜单。 现在,如果菜单hasClass("open");我想显示一个按钮hasClass("open"); 我想一旦去除类class open走了。

这是HTML部分;

<nav>
    <a class="closed"><i class="fa fa-bars"></i>Menu</a>
        <ul>
            <li>Menu items</li>
        </ul>
    <div class="close-btn">
        <i class="fa fa-times" aria-hidden="true"></i>
    </div>
</nav>

HTML可以正常工作,所以它并不是那么重要,重要的是元素是: navaclosed

现在到jQuery部分;

$(document).ready(function(jQuery) {
    if ($("nav a").hasClass("open")) {
        $(".close-btn").addClass('show-me-the-button');
    } else {
        $(".close-btn").removeClass('show-me-the-button');
    }
});

但这是行不通的。 我已经搜索了stackoverflow,但是所有人都给了我这段代码……不知道为什么它不起作用。 我没有脚本错误...有什么帮助吗?

您仅在初始页面加载时检查类。 您在哪里更改open课? 您应该将该代码移到该位置。

用户-Oryol是正确的

尝试将代码放入这样的处理程序中:

$(document).ready(function(jQuery) {

    $('nav a').on('click', function(e) { // <----------- Click Handler (jQuery)

        // Use $(this) to access current clicked element
        if ($(this).hasClass("open")) {
            $(".close-btn").addClass('show-me-the-button');
        } else {
            $(".close-btn").removeClass('show-me-the-button');
        }

    })

});

查看有关jQuery中的Click Handler的更多信息

希望这可以帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM