Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/02/2018, 08:57
manelmanel8
 
Fecha de Ingreso: marzo-2012
Mensajes: 180
Antigüedad: 12 años, 1 mes
Puntos: 2
Cambiar class por otra

Buenas a todos,

primero de todo dar las gracias.

Tengo un menu en arbol que cuando un nivel tiene subniveles muestra delante el simbolo + con la classe fa fa-plus-square-o lo que me gustaria que al hacer clic en un nivel con subniveles al desplegar y mostrar los niveles inferiores cambiara el fa fa-plus-square-o por fa fa-minus-square-o. Llevo un buen rato intentado y no lo consigo.

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2.         $(document).ready(function() {              
  3.             $("#accordion div").click(function() {
  4.                 if (false == $(this).next().is(':visible')) {
  5.                     $('#accordion2 ul').slideUp(300);
  6.                     $('a.activo').removeClass('activo');
  7.                     $(this).children('a').addClass('activo');
  8.                 }
  9.                 $(this).next().slideToggle(300);
  10.                 $('a.activo').removeClass('activo');
  11.                 $(this).children('a').addClass('activo');
  12.             });
  13.             $('#accordion2 ul:eq(0)').show();
  14.         });
  15.     </script>

HTML
Código HTML:
<ul id="accordion">
    <li class="pdlf-15">
        <div><i class="fa fa-plus-square-o" aria-hidden="true"></i> <i class="fa fa-folder fa-lg" aria-hidden="true"></i> <a href="#" class="">Nivel 1</a></div>
        <ul style="display: block;">
            <li class="pdlf-15">
                <div><i class="fa fa-plus-square-o" aria-hidden="true"></i> <i class="fa fa-folder fa-lg" aria-hidden="true"></i> <a href="#" class="activo">Nivel 2</a></div>
                <ul style="display: block;">
                    <li class="pdlf-15"><i class="fa fa-file fa-lg" aria-hidden="true"></i> <a class="enllac" disabled="disabled" href="#">Nivel 3</a></li>
                </ul>
            </li>
        </ul>
    </li>
</ul>