У меня есть статическая боковая панель HTML, которая, кажется, добавляется каждый раз, когда я загружаю страницу на своем веб-сайте с помощью настраиваемого подключаемого модуля боковой панели (WordPress).
Я пытаюсь добавить класс ктекущий активный Тег на боковой панели, чтобы я мог его стилизовать.
Поскольку он добавляет статическую HTML-боковую панель каждый раз, когда я загружаю страницу, добавляемый класс удаляется после загрузки следующей страницы.
Это способ добавить класс после загрузки следующей страницы?Или, может быть, сохранить рассматриваемый элемент в переменной до загрузки следующей страницы?
$(document).ready(function() {
var selector = 'a.custom-sidebar-item';
var url = window.location.href;
$(selector).each(function(){
$(selector).removeClass('active-custom-sidebar-item');
if(url == $(this).attr('href')) {
$(this).addClass('active-custom-sidebar-item');
$(this).css("border-bottom", "2px solid red");
}
});
});
РЕДАКТИРОВАТЬ:
Немного изменил код.
Вот что у меня в журнале консоли - https://imgur.com/a/g9JBMwO.
И вот что я пытаюсь достичь - https://imgur.com/a/W41xiOA.
Обходной путь На самом деле работал "$ (this) .css (" border-bottom "," 2px solid red ");".Все еще не уверен, почему "$ (this) .addClass ('active-custom-sidebar-item');"не работает.Поэтому я добавляю css напрямую с помощью jQuery, а не добавляю класс при загрузке.Что, я думаю, лучше всего.
PS: Причина, по которой я не использую .siblings () для удаления класса из других ссылок боковой панели, заключается в том, что некоторые из них являются тегамив и некоторые теги.Оптимизируем код позже.Код в настоящее время добавляет класс (проверено с console.log), но при загрузке следующей страницы он перезаписывается.