Задать вопрос
@kimqar34253426

JS как правильно пройтись по элементам по ссылкам и если сссылка совпадает с get добавить ему класс?

Делаю проверку по url get-параметру, и если блок содержит данную ссылку, то добавляю к нему класс
$('.navigation-list__item a').each(function() {
        var link = jQuery(this).attr("href");
        if (link === get) {
            (this).parentNode.addClass("navigation-list__item_active");
        }
    });

(переменная get содержит get параметр)
как прописать правильно данную строчку
(this).parentNode.addClass("navigation-list__item_active");

Сейчас выводит ошибку
Uncaught TypeError: this.parentNode.addClass is not a function
  • Вопрос задан
  • 50 просмотров
Подписаться 1 Средний Комментировать
Решения вопроса 1
@sergiodev
Надо заменить

(this).parentNode.addClass("navigation-list__item_active");


на

$(this).parent().addClass("navigation-list__item_active");


а еще лучше на вот это (так надёжнее, на случай если структура navigation-list__item изменится):

$(this).closest(".navigation-list__item").addClass("navigation-list__item_active");


parentNode - это свойство DOM-элементов, в jQuery аналогичный метод - это parent()
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы