Hay grupos desplegables para ciertos enlaces. Esta es la parte de ellos:
Si el li tiene una clase de elemento activo en el nivel 1, entonces trato de reemplazar el elemento cerrado del li principal con un elemento abierto.
Este es el código jquery para esto.
$(document).ready(function() { $('.active-item').parent('li').addClass('open-item').removeClass('close-item'); }); <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <li class="has-child-item close-item"> <a><i class="fa fa-cubes" aria-hidden="true"></i><span>İstasyon Ayarları</span></a> <ul class="nav child-nav level-1"> <li class="active-item"><a href="{{url('/istasyonlar')}}">İstasyon Listesi</a></li> <li><a href="{{url('/istasyonlar/ekle')}}">Yeni İstasyon Tanımlama</a></li> </ul> </li>Pero no está funcionando.
.active-item no es un padre de li ES el li, quieres:
.closest("li.close-item")Tal vez intente esto:
$('.active-item').parents().closest('li').addClass('open-item').removeClass('close-item');cambiará el li más cercano
Usando el más cercano ()
más cercano () selecciona el primer elemento que coincide con el selector, desde el árbol DOM.
FYI padre ()
parent() selecciona un elemento en el árbol DOM.
Solución
$(document).ready(function() { $('.active-item').closest('li.has-child-item').toggleClass('open-item close-item'); }); <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <li class="has-child-item close-item"> <a><i class="fa fa-cubes" aria-hidden="true"></i><span>İstasyon Ayarları</span></a> <ul class="nav child-nav level-1"> <li class="active-item"><a href="{{url('/istasyonlar')}}">İstasyon Listesi</a></li> <li><a href="{{url('/istasyonlar/ekle')}}">Yeni İstasyon Tanımlama</a></li> </ul> </li>