【问题标题】:jquery.js?v=1.9.1:4421 Uncaught Error: Syntax error, unrecognized expression: [object Object]jquery.js?v=1.9.1:4421 未捕获的错误:语法错误,无法识别的表达式:[object Object]
【发布时间】:2017-04-01 02:39:59
【问题描述】:

我有一个带有一些子菜单的下拉菜单。当我单击一个 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]

有人可以帮帮我吗?

谢谢

【问题讨论】:

  • 使用 $(this) 代替 jQuery(e.target)

标签: javascript jquery html css drupal


【解决方案1】:

你想要做的是使用一个对象作为选择器。

确实,lastTab 变量不返回选择器,而是返回与所选元素关联的 JQuery 对象。

所以你应该这样做:

lastTab.addClass('leave-open')

顺便说一下,请开始使用$ 别名而不是 jQuery 以提高可读性

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-15
    • 2017-11-09
    • 1970-01-01
    • 2017-06-06
    • 2019-02-18
    相关资源
    最近更新 更多