Перейти к содержимому

MOAB

- - - - -

Как добавить class="active" к текущему пункту меню?

jquery

  • Войдите, чтобы ответить
Сообщений в теме: 2

#1 snatch

snatch

    Мастер

  • Активный участник
  • PipPipPipPip
  • 1 401 сообщений
1 616
  • ИзFuturama

Отправлено 23 Апрель 2018 - 16:28

Всем привет нужна помощь с jQuery
Нужно переделать небольшой скрипт. У меня есть вот такая разметка меню:
<ul id="url">
<li class="item-135"><a href="/stranica-1">Пункт меню 1</a></li>
<li class="item-136"><a href="/stranica-2">Пункт меню 2</a></li>
<li class="item-137"><a href="/stranica-3">Пункт меню 3</a></li>
<li class="item-138"><a href="/stranica-4">Пункт меню 4</a></li>
<li class="item-139"><a href="/stranica-5">Пункт меню 5</a></li>
</ul>
И есть скрипт:
jQuery(function () {
	jQuery('#url a').each(function () {
		var location = window.location.href;
		var link = this.href;
		if(location == link) {
			jQuery(this).addClass('active');
		}
	});
});
который добавляет класс актив ссылке текущего пункта меню, в итоге получается следующее:
<ul id="url">
<li class="item-135"><a href="/stranica-1">Пункт меню 1</a></li>
<li class="item-136"><a href="/stranica-2">Пункт меню 2</a></li>
<li class="item-137"><a href="/stranica-3" class="active">Пункт меню 3</a></li>
<li class="item-138"><a href="/stranica-4">Пункт меню 4</a></li>
<li class="item-139"><a href="/stranica-5">Пункт меню 5</a></li>
</ul>
Но надо сделать иначе, нужно чтобы class="active" добавлялся не ссылке, а тегу <li> текущего пункта меню, чтобы получить следующее:
<ul id="url">
<li class="item-135"><a href="/stranica-1">Пункт меню 1</a></li>
<li class="item-136"><a href="/stranica-2">Пункт меню 2</a></li>
<li class="item-137 active"><a href="/stranica-3">Пункт меню 3</a></li>
<li class="item-138"><a href="/stranica-4">Пункт меню 4</a></li>
<li class="item-139"><a href="/stranica-5">Пункт меню 5</a></li>
</ul>


#2 neskor

neskor

    Продвинутый

  • Участник
  • PipPipPip
  • 247 сообщений
148
  • ИзУльяновск (в данную минуту)

Отправлено 23 Апрель 2018 - 18:30

jQuery(function () {
jQuery('#url a').each(function () {
var location = window.location.href;
var link = this.href;
if(location == link) {
jQuery(this).parent().addClass('active');
}
});
});

#3 snatch

snatch

    Мастер

  • Активный участник
  • PipPipPipPip
  • 1 401 сообщений
1 616
  • ИзFuturama

TC Отправлено 23 Апрель 2018 - 19:50

Просмотр сообщенияneskor сказал:

Query(function () {
jQuery('#url a').each(function () {
var location = window.location.href;
var link = this.href;
if(location == link) {
jQuery(this).parent().addClass('active');
}
});
});
Спасибо что откликнулись, но не работает

выдает ошибку

Цитата

Uncaught ReferenceError: Query is not defined

а все понял , это я лапухнулся скопипастил неакуратно, пропустил один знак, теперь все заработало! Спасибо еще раз





Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных



© 2018 SMO&SEO форум «WEBIMHO» — продвижение и создание сайтов, интернет-маркетинг

По вопросам рекламы на форуме и цены на рекламу
Все материалы SEO форума разрешены к копированию только с установкой гиперактивной ссылки на webimho.ru,
тем, кто этого не сделает, мы оторвем руки и ноги и поменяем местами,
а когда выйдем из тюрьмы, опять оторвем и опять поменяем.


Россия, г. Москва

Мы в соцсетях: twitter | вконтакте | facebook | livejournal