我有一个奇怪的问题。我以前使用过 toggleClass 并且运行良好。但是,现在只有“class”属性被添加到元素中,而没有实际的类。像这样:
$("#slideButtonMenu").click(function(){
$("#sidebar").toggleClass("slideLeft");
});
.slideLeft {
left: -220px;
}
这是我在检查元素时得到的。在点击“#slideButtonMenu”之前:
<aside id="sidebar"> == $0
点击按钮时/之后:
<aside id="sidebar" class> == $0
第一次点击后想要的结果:
<aside id="sidebar" class="slideLeft"> == $0
我真的不知道 == $0
是什么意思,但我认为它不会影响这个。如果我将 toggleClass 更改为 addClass,它会成功添加该类...但显然我无法再次将菜单滑出。
最佳答案
正如@Rory McCrossan 和@Turnip 建议的那样,我的点击绑定(bind)错误。
答案是添加unbind(),像这样:
$("#slideButtonMenu").unbind().click(function(){
$("#sidebar").toggleClass("slideLeft");
});
现在可以使用了!
编辑: 根据@Turnip 的说法,如果我的代码中的所有内容都正确完成,则不需要这样做,但现在我只想使用 YOLO 并将其用于我的 POC tmrw。
编辑2: 好了,找到冤枉路了。我确实加载了这个脚本两次:
$("#slideButtonMenu").click(function(){
$("#sidebar").toggleClass("slideLeft");
});
当改变它时,它只加载一次它在没有 .unbind() 的情况下工作
关于jquery - toggleClass 仅将 'class' 作为属性添加到 HTML 元素 - 而不是 acctuall 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45817866/