不确定我是否正确行事。我有一个菜单,可以在打开和关闭之间切换。现在我想要一个按钮显示菜单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有用,所以这并不重要,重要的是元素是:nav
,a
,closed
。
现在是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但是所有人都给了我这个代码......不知道为什么它不起作用。我没有脚本错误......有什么帮助吗?
答案 0 :(得分:3)
仅在初始页面加载时检查类。你在哪里改变open
课程?您应该在该位置移动此代码。
答案 1 :(得分:1)
用户 - 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');
}
})
});
希望这有帮助!