JQuery для выделения текущего пункта меню

0

Я работаю над веб-сайтом, и у меня мало ссылок на меню. Я хочу выделить текущие пункты меню на основе URL. В настоящее время у меня есть следующий код в JQuery:

$(document).ready(function () {
        debugger;
        $('#menu a').each(function (index) {
            if (this.href.trim() == window.location.href)
                $(this).addClass("current");
        });
    });

Его работа прекрасна только тогда, когда в URL-адресе нет строки запроса. Когда я передаю строку запроса в URL-адрес, этот JQuery не работает.

  • 0
    $(this).attr("href") == window.location.href ?
  • 1
    Здравствуйте, @LeeTaylor. Я попробовал ваше предложение, оно показывает мне ошибку, такую как ошибка времени выполнения JavaScript: «href» не определен
Теги:

1 ответ

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

Вы хотите location.pathname если вы не хотите, чтобы запрос выполнялся.

Это использует filter() чтобы возвращать только соответствующие ссылки (ссылки)...

$("#menu a").filter(function (index) {
    return this.href.search(location.pathname) !== -1;
}).addClass("current");
  • 0
    Привет @Archer, мне нужно знать, как это сделать
  • 0
    Я изменил ответ. Попробуйте и дайте нам знать, как вы поживаете.
Показать ещё 2 комментария

Ещё вопросы

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