使用 jQuery,我使用 toggleClass() 从菜单中添加/删除一个类

我想知道该类是添加还是删除了。我读到有第二个参数状态,但这似乎是为了指定仅添加或删除而不是返回实际完成的操作

我需要这样的东西

 $el.toggleClass(sidebarCollapsed, addOrRemove);
                 if (addOrRemove) {
                    sessionStorage.setItem("sidebarState", "collapsed");
                } else {
                    sessionStorage.setItem("sidebarState", "expanded");
                }

我可以使用 toggleClass 来做到这一点,还是必须使用 hasClass() 检查该类,然后相应地添加/删除?

最佳答案

对您的问题的简短回答是否定的, toggleClass 方法本身不包含该功能。它仅用于切换类,并且没有任何可以执行您想要的操作的回调。

如文档中所示,它接受的所有参数都与要切换的类有关:http://api.jquery.com/toggleclass/

该方法的返回类型显示为“Returns: jQuery”,这表示该方法返回被操作的 jQuery 对象/集合。所以你可以检查操作的结果是什么,例如:

var result = $('div').toggleClass('foo');
console.log('Was the class added? ' + result.hasClass('foo'));

关于javascript - 确定是否添加或删除了 toggleClass 类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50280237/

10-12 15:56