使用jQuery,我使用toggleClass()
我想知道是否添加或删除了该类。我读到有第二个参数状态,但这似乎是指定只添加或删除而不是返回实际完成的内容
我需要这样的东西
$el.toggleClass(sidebarCollapsed, addOrRemove);
if (addOrRemove) {
sessionStorage.setItem("sidebarState", "collapsed");
} else {
sessionStorage.setItem("sidebarState", "expanded");
}
我可以使用toggleClass执行此操作,还是必须使用hasClass()
检查类,然后相应地添加/删除?
答案 0 :(得分:3)
对您的问题的简短回答是否定的,toggleClass
方法本身不包含该功能。它只用于切换类,并且没有任何回调可以做你想要的。
如文档中所示,它接受的参数都与要切换的类相关:http://api.jquery.com/toggleclass/
该方法的返回类型显示为“返回:jQuery”,表示该方法返回被执行的jQuery对象/集合。因此,您可以检查操作的结果,例如:
var result = $('div').toggleClass('foo');
console.log('Was the class added? ' + result.hasClass('foo'));
答案 1 :(得分:0)
你可能会用三元曲线来概括你的逻辑。
sessionStorage.setItem(
"sidebarState",
$el.toggleClass(sidebarCollapsed).hasClass(sidebarCollapsed) ? "collapsed" : "expanded"
);