Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Подсветка пункта меню - ч.2 (https://javascript.ru/forum/dom-window/75788-podsvetka-punkta-menyu-ch-2-a.html)

oslayer 06.11.2018 12:05

Подсветка пункта меню - ч.2
 
Как работает
При клике скрипт назначает всем
<li class="had_child active_m">


А нужно что бы назначалось только в текущем блоке меню верхнего уровня.
Что то вроде
<li class="open">

а остальные блоки с
<li class="had_child active_m">
без изменений

Признаки текущего блока
<ul style="display: block;">
<span class="ttnavigation ttopen"><a href="javascript:void(0)"></a></span>


Признаки не текущего блока
<ul style="display: none;">
<span class="ttnavigation ttclose"><a href="javascript:void(0)"></a></span>


Есть код JS
$(function(){
    $(".originalmenu span.ttnavigation").on("click", function(){
	   $('#ma-mobilemenu .had_child').addClass('active_m');
    });
});


<ul id="ma-mobilemenu" class="mobilemenu originalmenu nav-collapse collapse expand_menu">
-----------Блок меню 1----------------------
<li class="had_child">
<a href="#">Пункт меню 1 уровня</a>
<ul style="display: block;">
<li><a href="#"><span>Пункт меню 2 уровня</span></a></li>
<li><a href="#"><span>Пункт меню 2 уровня</span></a></li>
<li><a href="#"><span>Пункт меню 2 уровня</span></a></li>
<li><a href="#"><span>Иван-чай</span></a></li>
<li><a href="#"><span>Пункт меню 2 уровня</span></a></li>
</ul>
<span class="ttnavigation ttopen"><a href="javascript:void(0)"></a></span>
</li>

-----------Блок меню 2----------------------
<li class="had_child">
<a href="#">Пункт меню 1 уровня</a>
<ul style="display: none;">
<li><a href="#"><span>Пункт меню 2 уровня</span></a></li>
<li><a href="#"><span>Пункт меню 2 уровня</span></a></li>
<li><a href="#"><span>Пункт меню 2 уровня</span></a></li>
<li><a href="#"><span>Пункт меню 2 уровня</span></a></li>
<li><a href="#"><span>Пункт меню 2 уровня</span></a></li>
</ul>
<span class="ttnavigation ttclose"><a href="javascript:void(0)"></a></span>
</li>

И так далее

</ul>

рони 06.11.2018 12:53

oslayer,
$(this).parent().addClass('active_m');

oslayer 06.11.2018 12:58

заработало... а можно ткнуть в описание функции parent с описанием и примерами? Почему то мне попадавшиеся не позволяли понять что так можно применить.

рони 06.11.2018 13:05

oslayer,
parent

oslayer 06.11.2018 15:43

Спасибо :) Как завещал В.И. Ленин :)


Часовой пояс GMT +3, время: 14:52.