Cita:
Iniciado por Tusade
Me explico: tienes que sustituir el id="oculto1" por class="oculto1" en los atributos de todos las cajas div.
Tú tienes el siguiente código que muestra una caja oculta repetida varias veces:
Código HTML:
Ver original<a href="#" onClick="show('oculto1')">MOBILIARIO PARA EL HOGAR
</a><br> <div id="oculto1" style="display:none;">Esto es una caja oculta
</div> <div id="oculto1" style="display:none;">Esto es otra caja oculta
</div> <div id="oculto1" style="display:none;">Esto es una tercera caja oculta
</div>
Pues yo le cambiaría el atributo del div:
Código HTML:
Ver original<div class="oculto1" style="display:none;">Esto es una caja oculta
</div> <div class="oculto1" style="display:none;">Esto es otra caja oculta
</div> <div class="oculto1" style="display:none;">Esto es una tercera caja oculta
</div>
Luego, nos vamos a Javascript y escribimos un bucle "for":
Código Javascript
:
Ver originalfunction show(bloq) {
var obj = document.getElementsByClassName(bloq); /* Esto nos recoge un array de todos los
elementos cuyo atributo class sea el contenido de la variable "bloq" */
for (var i = 0; i<obj.length; ++i) { /* Bucle for, le estamos diciendo que se ejecute según tantas
veces encuentre un elemento con atributo class="oculto1" */
obj[i].style.display = (obj[i].style.display=='none') ? 'block' : 'none'; /* No olvidemos poner
un [i] para identificar el elemento de un array. */
}
}
Eso es lo que yo haría
EDIT: Ah, y te ha faltado declarar la variable "obj" en javascript (ponerle un "var" delante de obj), según veo.
Probado... y funcionando a la perfección, muchísimas gracias

!!!! Ahora solo me falta hacer lo mismo con los diferentes niveles de anidamiento, pero es cuestión de darle un par de vueltas. Muchas gracias de nuevo.