@Thores
Новичок.

Как сделать выполнение функции для каждого пункта в отдельности?

<ul id="menu-p" class="menu-p">
	<li class="menu-p-item open">
		<a title="Каталог услуг" href="#" data-toggle="dropdown" class="menu-p-link dropdown-toggle" aria-haspopup="true" aria-expanded="true">Каталог услуг <i class="fa fa-caret-down" aria-hidden="true"></i></a>
		<div class="submenu-p-services submenu-p-closed submenu-p-collapsed dropdown-menu">
			<ul role="menu" class="submenu-p-list">
				<li class="submenu-p-item">
					<a title="ТЕКСТ" class="submenu-p-link menu-txt">ТЕКСТ</a>
					<div class="submenu-p-groups sub-menu-txt smpg_closed" id="sub-menu-txt">
						<ul role="menu" class="submenu-p-groups-layout">
							<li class="submenu-p-groups-layout-column">
								<ul class="submenu-p-group-wrapper">
									<strong class="submenu-group-title">ТЕКСТ</strong>
									<a title="ТЕКСТ" class="submenu-p-group-link">ТЕКСТ</a>
									<a title="ТЕКСТ" class="submenu-p-group-link">ТЕКСТ</a>
									<a title="ТЕКСТ" class="submenu-p-group-link">ТЕКСТ</a>
									<a title="ТЕКСТ" class="submenu-p-group-link">ТЕКСТ</a>
									<a title="ТЕКСТ" class="submenu-p-group-link">ТЕКСТ</a>
								</ul>
							</li>
							<li class="submenu-p-groups-layout-column">
								<ul class="submenu-p-group-wrapper">
									<strong class="submenu-group-title">ТЕКСТ</strong>
									<a title="ТЕКСТ" class="submenu-p-group-link">ТЕКСТ</a>
									<a title="ТЕКСТ" class="submenu-p-group-link">ТЕКСТ</a>
									<a title="ТЕКСТ" class="submenu-p-group-link">ТЕКСТ</a>
									<a title="ТЕКСТ" class="submenu-p-group-link">ТЕКСТ</a>
									<a title="ТЕКСТ" class="submenu-p-group-link">ТЕКСТ</a>
								</ul>
							</li>
						</ul>
					</div>
				</li>
				<li class="submenu-p-item">
					<a title="ТЕКСТ2" class="submenu-p-link menu-txt2">ТЕКСТ2</a>
					<div class="submenu-p-groups sub-menu-txt2 smpg_closed" id="sub-menu-txt2">
						<ul role="menu" class="submenu-p-groups-layout">
							<li class="submenu-p-groups-layout-column"></li>
							<li class="submenu-p-groups-layout-column"></li>
							<li class="submenu-p-groups-layout-column"></li>
						</ul>
					</div>
				</li>
и так далее...

скрипт выглядит примерно так я уже что только не перепробовал, уже запутался.. и прошу помощи если кто может помочь
$(function(){
	var subMenu;
	var id=$(".submenu-p-link [class='menu-']"),
		b=$(".submenu-p-link"),
		t=$(this),
		td=$(".submenu-p-"+t.data("submenu")),
		c=b.closest(".submenu-p-services"),
		d=$(".submenu-p-list",c),
		f=$(".submenu-p-groups",c)
		g=b.next(".submenu-p-groups"),
		h=d.height();

	
	b.each(function(){
		$(this).data('subMenu', $('#submenu .sub-' + $(this).attr('id')));
		
		b.mouseenter(function(){
		clearTimeout(subMenu);
		var sub = $(this).data('subMenu');
		b.addClass("submenu-p-link-current"),
		td.toggleClass('smpg_closed smpg_opened'),
		c.toggleClas('submenu-p-collapsed submenu-p-expanded'),
		e.hasClass("submenu-p-closed")||(g.height(i),c.height(h));
	});
		b.mouseleave(function(){
		b.removeClass("submenu-p-link-current"), //csubmenu-p-link_state_current
		f.toggleClass('smpg_opened smpg_closed'), //submenu-p-groups_state_closed
		c.toggleClas('submenu-p-expanded submenu-p-collapsed').css({height:"auto"});
	});
	});



});


В скрипте много чего лишнего тем не менее он работает, но работает сразу для всех <li class="submenu-p-item">.
Суть вообще в чем нужно что бы при наведении на или же на <a class="submenu-p-link">ССЫЛКА</a> менялись и добавлялись классы относительно именно этой ссылке на которую наведено, а так они меняются у всех пунктов подменю сразу и под подменю ) короче нужна фишка которая ограничит мой скрипт только на один элемент из списка помогите пожалуйста.
  • Вопрос задан
  • 290 просмотров
Решения вопроса 1
@zolotykh
web-разработчик
Суть такая: берем выборку элментов на которые наводим мышку, делаем так:

$('выборка').on('mouseenter', function(){
   var $targets = $element.parents('.submenu-p-item').find('элементы с которыми хотите что то делать');
   $targets.doSomething()
  })
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Thores Автор вопроса
Новичок.
Александр Золотых: Ну чтож банально ) код упрощен )
$(function(){
$(".submenu-p-item").on("mouseenter", ".submenu-p-link", function(){
     $(".submenu-p-groups").toggleClass('smpg_closed smpg_opened');
}).on("mouseleave", ".submenu-p-link", function(){
    $(".submenu-p-groups").toggleClass('smpg_opened smpg_closed');
});
});

НО, действует опять на все элементы, а без обертки
$(function(){ скрипт });
Вообще отказывается работать.
Ответ написан
Ваш ответ на вопрос

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

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