我有一个带有一些子菜单的下拉菜单。当我单击一个 li 元素时,jquery 应该向最接近的 ul 添加一个类,以使 ul 保持打开状态。但是当我单击一个 li 元素时,它会重定向到一个新网页。网站刷新后如何记住添加的类?
我已经尝试过这个:
jQuery(function () {
jQuery('#mobile-menu').on('click', function (e) {
localStorage.setItem('lastTab', jQuery(e.target).closest('ul').addClass('leave-open'));
});
var lastTab = localStorage.getItem('lastTab');
if (lastTab) {
jQuery(lastTab).addClass('leave-open');
}
});
但是我的控制台说:
jquery.js?v=1.9.1:4421 未捕获错误:语法错误,无法识别的表达式:[object Object]
有人可以帮助我吗?
谢谢
最佳答案
您想要做的是使用对象作为选择器。
事实上,lastTab 变量不返回选择器,而是返回与所选元素关联的 JQuery 对象。
所以你应该这样做:
lastTab.addClass('leave-open')
顺便说一句,请开始使用$
别名而不是 jQuery
以提高可读性
关于javascript - jquery.js?v=1.9.1 :4421 Uncaught Error: Syntax error, 无法识别的表达式:[对象对象],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43152199/