detectar el enlace en el nivel de li de segundo nivel y agregar un lapso, además de agregar la clase al li de los padres al pasar el mouse por encima

StackOverflow https://stackoverflow.com/questions/1824265

  •  22-07-2019
  •  | 
  •  

Pregunta

Estoy trabajando en un menú de lista desordenada de dos niveles, y hasta ahora pude dar algunos pasos novatos decentes para descubrir cómo mostrar y ocultar el menú usando jQuery, así como animarlo un poco.

Tengo dos problemas que resolver:

  1. Quiero que el padre permanezca en estado de desplazamiento cuando está suspendido mientras el mouse se mueve sobre su hijo ul
  2. Me gustaría detectar si el li primario tiene un ul y agregar un espacio entre las etiquetas a, lo que da como resultado: <a href="#">Text <span style="addedStyle">&nbsp;</span></a>

Aquí está el jQuery que estoy usando hasta ahora. " .addClass (" active ") " no parece estar haciendo mucho:

$(".leftMenu li:has('ul')").hover(
    function(){
        $(this).addClass("active").children().animate({opacity: 'show'});
    },
    function(){
        $(this).removeClass("active").children().hide();
    }
);
//this line is wrong and non-functional
$(".leftMenu li:has('ul > a')").append('<span class="arrowdiv">&nbsp;</span>');

¡Mirando hacia adelante!

¿Fue útil?

Solución

Lo descubrí. ¡Aprender algo nuevo todos los días!

Tenía que encontrar el " a " y añádelo a eso. simplemente se añadía a todo el li, y tuve que concentrarme en el a, lo que obviamente hice así:

$(".leftMenu li:has('ul') > a").append('<span class="arrowdiv">&nbsp;</span>')
.parent().hover(
function(){
  $(this).addClass("active").children().animate({opacity: 'show'});
},
function(){
 $(this).removeClass("active").children().hide();
}
);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top