Estoy tratando de ejecutar una función para permitir varios divs, cada uno con su propia identificación única, en la misma llamada. Pensé que esto funcionaría:
var btn1 = document.getElementById("btn1"); btn1.onmouseover = function(event){ event.preventDefault(); toggleDivs("ed1", "ed2", "ed3"); }; //function to hide or show function toggleDivs(s){ //reset document.getElementById("ed1").classList.remove("shown"); //show document.getElementById(s).classList.add("shown"); }Funciona, pero solo aparece el primer div en la matriz (ed1). Los otros dos y estoy seguro de que más si los agregara a la matriz general, no lo harían.
Intenté tener un toggleDivs para que apareciera cada div (3 en total en este caso), pero no tuve suerte. ¿Cuál sería la manera de hacer que aparezcan todos a la vez en lugar de solo el primero?
En toggleDivs solo está usando el primer parámetro. Use una matriz para enviar todo:
toggleDivs([ "ed1", "ed2", "ed3" ]);La función document.getElementById(id) solo recibe una identificación a la vez, por lo que debe iterar de esta manera:
s.forEach(id => document.getElementById(id).classList.add("displayed"))