Utz Grimminger: «div» und «p»-Verschachtelung

Hi zusammen,

ich baue gerade an einem Treeview herum und weiß jetzt nicht, ob ich einen Denkfehler drin hab oder ob NS 6 (ich weiß! ist noch ne Beta!) da was nicht richtig macht.

Das ganze funzt im Prinzip so:

<div id="parent" style="display:inline;">
<p>...irgendwas...</p>
  <div id="child" style="display:none;">
    <p>...Eintrag...</p>
    <p>...noch 'n Eintrag...</p>
      <div id="grandchild" style="display:none;">
        <p>...Eintrag...</p>
      </div>
    <p>...und noch einer...</p>
  </div>
<p>...irgendwas anderes...</p>
</div>

Das dazugehörige JS:

function showhide(target)
{
var abschnitt = document.getElementById(target);

if(abschnitt.style.display == "inline")
  {
    abschnitt.style.display = "none";
  }
else if(abschnitt.style.display == "none")
  {
    abschnitt.style.display = "inline";
  }
else
  {}
}

Was passiert ist, dass beim Zuklappen der mehrfach verschachtelten Abschnitte die Sache in die Hose geht - wenn ich allerdings die <p>...</p>-Tags um die Listeneinträge weglasse, klappt alles prima!
Offensichtlich wird mit </p> intern der div (so halb?) als möglicherweise schon zu Ende interpretiert, oder so.

Mach ich da jetzt nen Denkfehler und obige Konstruktion ist gar nicht zulässig? Oder sollte ich lieber einfach auf den endgültigen NS 6 warten?

Danke für jedwede sachdienlichen Hinweise! *g*

Grüße,

Utz

  1. Hi Utz!

    Versuche mal, die <div>-Einträge durch <span> zu ersetzen.

    Grüße
    Philip

    1. Hi Philip,

      hab' ich gemacht - lustigerweise bleibt der Fehler zwar im Prinzip der selbe, allerdings jetzt mit anderen Details. Interessant! :-)))

      Grüße,

      Utz

      1. hab' ich gemacht - lustigerweise bleibt der Fehler zwar im Prinzip der selbe, allerdings
        jetzt mit anderen Details. Interessant! :-)))
        Utz

        Cool ;-)) Aber war 'nen Versuch wert.

        mitfühlende Grüße
        Philip