Wenas foro!
Tengo un problema nuevo. Estoy intentando hacer un arbol jerarquizado (hay por aqui una pregunta de eso, pero kreo que google le sera suficiente). Lo mio es mas transparente. Como se esta poniendo de moda eso del DOM, queria hacerlo con dom. mas o menos asi:
Código PHP:
<style>
h1 {
font-size:20px;
cursor:hand;
}
blockquote {
display:none;
}
</style>
<script>
function expande(obj) {
siguienteBlock=obj.nextSibling;
seVe=siguienteBlock.style.display;
if(seVe!="block")
siguienteBlock.style.display="block";
else
siguienteBlock.style.display="none";
}
</script>
<h1 onclick="expande(this)">Cosas</h1>
<blockquote>
Cosa interior 1<br>
Cosa interior 2<br>
Cosa interior 3<br>
Cosa interior 4<br>
</blockquote>
<h1 onclick="expande(this)">Sillas</h1>
<blockquote>
Silla 1<br>
Silla 2<br>
Silla 3<br>
<h1 onclick="expande(this)">Sillas de Interior</h1>
<blockquote>
Silla Int 1<br>
Silla Int 2<br>
Silla Int 3<br>
</blockquote>
</blockquote>
Vale, esto queda muy elegante por la ausencia de codigo farragoso. Pero quiero hacerlo mas elegante. me gustaria que javascript capturase el evento onclick, y que él mismo se percate si estamos sobre un elemento h1 o no, para expandir, ahorrandonos el onclick="expande(this)" en todos los elementos h1.
Se que puedo hacerlo recorriendo todos los h1 asi al final del documento:
Código PHP:
<script>
haches1=document.getElementsByTagName("H1");
for(a=0;a<haches1.length;a++) {
haches1[a].onclick=function expande() {
siguienteBlock=this.nextSibling;
seVe=siguienteBlock.style.display;
if(seVe!="block")
siguienteBlock.style.display="block";
else
siguienteBlock.style.display="none";
};
}
</script>
Pero tengo esa duda, el cómo detectar que estamos clickeando un h1 en el mismo evento onclick y no otro elemento.
¿Se puede hacer eso? ¿Como?