Показать сообщение отдельно
  #1 (permalink)  
Старый 15.01.2021, 14:51
Профессор
Отправить личное сообщение для Vaska Посмотреть профиль Найти все сообщения от Vaska
 
Регистрация: 08.05.2017
Сообщений: 178

Не получается назнаяить active вкладке меню
Приветствую!
Есть меню, в котором поменял ссылки с атрибута а, на атрибут span.
<nav id='cssmenu'>			
	<ul class="menu">
		<li>
			<span class="ahref hidden-link-innen" data-link=''>Menu 1</span>
			<ul>
				<li>
					<span class="ahref hidden-link-innen" data-link="">Sub Menu 1</span>
					<ul class="class_child">
						<li><span class="ahref hidden-link-innen" data-link="">Sub Sub Menu 1</span></li>
					</ul>
				</li>
				<span class="ahref hidden-link-innen" data-link="">Sub Menu 2</span>
				<span class="ahref hidden-link-innen" data-link="">Sub Menu 3</span>
			</ul>
		</li>												
		<span class="ahref hidden-link-innen" data-link=''>Menu 1</span>
		<span class="ahref hidden-link-innen" data-link=''>Menu 1</span>
	</ul>
</nav>

Скрипт, который заставляет ссылки работать:
//ссылка в span вместо a
$(document).ready(function(){
	$('.hidden-link-innen').click(function(){window.location = $(this).data('link'); return false;});
});

И скрипт, который назначает active активной вкладке меню, когда есть атрибут <a> и href:
$(function () { 
		$('.menu a').each(function () {
			var location = window.location.href;
			var link = this.href; 
			if(location == link) {
				$(this).addClass('active');
			}
		});
	});

Я попробывал заменить $('.menu a') на $('.menu span') и .href на data('link'), но не работает, не назначает ссылке в <span> класс active и браузер ругается.

Можете помочь исправить скрипт?
Ответить с цитированием