Christoph Schnauß: Tabelle aufklappen

Beitrag lesen

hallo,

Ich kriegs nicht gebacken, eine Tabelle zu machen, bei der man auf der Header klickt, sich der Rest der Tabelle zeigt.

Hm. Wenn ich "Tabelle" lese, werde ich immer mißtrauisch. Was soll denn deine Tabelle enthalten? Wirklich nur tabellarische Daten?

function toggle(item) {
  if (item.nextSibling.firstChild.firstChild.style.display = "none") {
   item.nextSibling.firstChild.firstChild.style.display = "block";
  }
  else {
   item.nextSibling.firstChild.firstChild.style.display = "none";
  }
}

Das ist zwar ein möglicher Denkansatz, aber ich halte ihn nicht für effizient.

<table>
<tr onClick='toggle(this)'>

Upsa. "onclick" solltest du besser nur für <td> verwenden.

<td><div style="display:none;">Text.</div></td>

Und das ist ganz schlecht. Es gibt _absolut keinen_ Grund, in dein <td> noch ein <div> einzusperren. Noch dazu, wenn es "unsichtbar" sein soll.

Kann mir jemand weiterhelfen?

Falls ich deine Fragestellung richtig verstanden habe, geht das nach dem Schema:
   <table><tr>
   <td id="z1">Zeile 1</td>
   </tr><tr>
   <td id="z2" onclick="document.getElementById('z3').style.display='block'; this.style.display='none'" style="display:none;">Zeile 2</td>
   <td id="z3" onclick="document.getElementById('z2').style.display='block'; this.style.display='none'">Zeile 3</td>
   </tr></table>
Wohlgemerkt: das ist das "Schema", und ob das auf deine Bedürfnisse zutrifft, ist fraglich.

Grüße aus Berlin

Christoph S.

--
Visitenkarte
ss:| zu:) ls:& fo:) va:) sh:| rl:|