Uncaught Error: синтаксическая ошибка, нераспознанное выражение:

0

Я пытаюсь использовать 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: . 

Я не знаю, что я сделал неправильно. Спасибо за любую помощь!

  • 0
    Пробовал это в chrome и firefox. обе работают нормально
  • 0
    Спасибо за ответ, но если вы обновите страницу, cookie не будет работать.
Теги:
cookies

1 ответ

2
Лучший ответ

Я подозреваю, что проблема здесь:

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

Если active является "" (или все, что принуждает к ""), это становится $nav.filter("."), $nav.filter(".") является недопустимым выражением CSS. Я получаю эту точную ошибку, если я подаю недопустимое выражение в filter.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню