Cita:
Iniciado por IsaBelM el problema te lo creas tu solo al usar el elemento <a> en un contexto en el que no tiene sentido. el evento deberías de asignarselo al elemento <li>. pero si aún así quieres mantenerlo, puedes usar el
https://developer.mozilla.org/es/doc...ElementSibling Bueno tal vez elegí el problema por ser mas complicado.
Ya he resuelto el problema, pero lo haré como dices para no escribir código de mas. Aquí esta la solución:
Código Javascript
:
Ver originalfunction dropdownNav(e) {
"use strict";
//bloqueamos el evento por defecto
e.preventDefault();
//definimos variables
var i, j, c, e, cName;
//Nombre de la clase del elemento que hay que ocultar
cName = "w3-dropdown-content";
//Obtenemos a los hijos del elemento padre
c = this.parentNode.childNodes;
//Seleccionamos elementos parecidos que hay que ocultar
e = document.getElementsByClassName(cName);
/*jslint plusplus: true */
for (i = 0; i < c.length; i++) {
//Seleccionamos el elemento que nos interesa
if (c[i].nodeName === "DIV") {
//Mostramos o ocultamos el elemento
if (c[i].className.indexOf("w3-show") == -1) {
//Ocultamos todo
for (j = 0; j < e.length; j++) {
e[j].className = e[j].className.replace(" w3-show", "");
}
//Mostramos el elemento interesado
c[i].className += " w3-show";
} else {
//Ocultamos todo
for (j = 0; j < e.length; j++) {
e[j].className = e[j].className.replace(" w3-show", "");
}
}
}
}
}
Gracias
Saludos...