У меня есть html, который имеет класс js-nav
и data-id
, который я хочу использовать для определения текущего скользящего меню.
<a class="nav-link js-nav" data-id="about" href="/#about">About</a>
То, что я сделал с моим кодом, это сначала получите текущий URL и отфильтруйте его, пока я не получу текущий #about
URL. Затем он сравнится с data-id
, если они совпадают, добавив перед ним символ #
. И затем, если они равны, я должен добавить класс active-menu
к тегу привязки js-nav
, чтобы выделить его, но мне также нужно удалить любой существующий класс active-menu
для всех элементов. Вот мой код.
var url = window.location.href;
var link = url.split('/')[3];
var item = $('a[data-id]');
if ('#' + item == link){
$('a.js-nav').toggleClass('active-menu')
Здесь я хочу выделить текущее меню, добавив класс active-menu
к текущему скользящему элементу привязки, который я определяю по URL. Мне также нужно удалить любой существующий класс active-menu
для любого якоря, когда я добавляю класс, чтобы убедиться, что только один элемент будет иметь активный класс.
Сейчас этот код не работает, особенно в той части, где Я добавляю символ #
в переменную item, чтобы сравнить его со ссылкой.
Как исправить код, чтобы получить правильный вывод? }