Ich arbeite durch ein Problem, wo ich ein Menü habe, das mehrere Ebenen tief ist. Ich versuche es so zu bekommen, dass wenn ein Element der ersten Ebene angeklickt wird (add class .ubermenu-active
), es nach einem anderen Element der ersten Ebene mit dieser Klasse sucht und es entfernt.jQuery erstes Element des Typs klicken
$('.ubermenu-item-level-0 span').on('click',function() {
var target = $('.ubermenu-item-level-0');
$('.ubermenu li.ubermenu-item-level-0').removeClass('ubermenu-active');
target.parents('.ubermenu li.ubermenu-item-level-0').toggleClass('ubermenu-active');
});
HTML (mock):
<ul class="ubermenu">
<li class="ubermenu-item-level-0">
<a class="ubermenu-target">
<span class="ubermenu-target-title">Level 1</span>
</a>
<ul class="ubermenu-submenu">
<li class="ubermenu-item-level-1">
<a class="ubermenu-target">
<span class="ubermenu-target-title">Level 2</span>
</a>
</li>
<li class="ubermenu-item-level-1">
<a class="ubermenu-target">
<span class="ubermenu-target-title">Level 2</span>
</a>
<ul class="ubermenu-submenu">
<li class="ubermenu-item-level-2">
<a class="ubermenu-target">
<span class="ubermenu-target-title">Level 3</span>
</a>
</li>
</ul>
</li>
</ul>
<li class="ubermenu-item-level-0">
<a class="ubermenu-target">
<span class="ubermenu-target-title">Level 1</span>
</a>
</li>
</li>
</ul>
Gerade jetzt, wenn eine der Teilelemente sind die Eltern angeklickt schließt
Ich denke, ich weiß, was Sie suchen, aber die tatsächliche HTML zu sehen würde helfen, sicherzustellen, dass die DOM-Struktur klar ist. – talemyn
Ich kann versuchen, eine saubere Version der Menüs zu erstellen, um Ihnen eine Idee zu geben. Ubermenu fügt nur eine Menge Bloat hinzu. –