未捕获错误:语法错误,无法识别的表达式:

时间:2014-03-31 10:25:43

标签: javascript jquery cookies

我正在尝试使用 jquery.cookie 来处理垂直手风琴菜单Cookie。

var active = $.cookie('active'),
    $nav = $("#nav > li > a"),
    $active = $nav.filter('.' + active);

$nav.click(function(e, speed) {
    $("#nav li ul").slideUp(speed);
    if (!$(this).next().is(":visible")) {
        $(this).next().slideDown(speed);
        $.cookie('active', this);
    }
});
if ($active.next().is(':hidden')) {
    $active.trigger('click', [0]);
}

Fiddle Demo

当我点击下拉菜单时,我在Firebug上收到此错误:

Uncaught Error: Syntax error, unrecognized expression: . 

我不知道我做错了什么。谢谢你的帮助!

1 个答案:

答案 0 :(得分:2)

我怀疑问题在这里:

$active = $nav.filter('.' + active);

如果active""(或强制为""的任何内容),则会成为$nav.filter("."),这是一个无效的CSS表达式。如果我将无效的表达式提供给filter,我会得到确切的错误。