Tobias: Variation: <div> onclick display:none

Beitrag lesen

Hallo noch mal,

ich habe noch eine variation meiner hier [http://forum.de.selfhtml.org/?t=53714&a=close#t53714 ] gestellten und gluecklicherweise auch beantworteten Frage zu Darstellungsproblemen von <span> Bereichen in NS.

Davon ausgehend, dass die Probleme meiner Darstellung daran lagen, dass ich Blockelemente innerhalb von <span> verwendet habe, was den IE nicht stoert, habe ich meinen Code unter ausschliesslicher Verwendung von <span> und <BR /> umgeschrieben, was den erwuenschten Effekt hatte.

Dann wollte ich aber dennoch versuchen, einfach das umfassende Element von <span> zu <div> zu veraendern, denn <div> kann ja - wenn ich das richtig verstehe - andere Blockelement beinhalten. Diesbezueglich war ich dann fasziniert zu sehen, dass Netscape sich immer dann nicht so verhaelt wie intendiert, wenn irgendein Block-Element <P> oder <div> oder <H2> in dem Block steht, der per onclick display:none ausgeblendent werden soll.

Das Problem stellt sich folgendermassen dar:

Bereich (a) ist beim Laden sichtbar, soll bei onclick gegen Bereich (b) getauscht werden. Bei einem weiteren click soll nun (b) unsichtbar werden und (a) wieder sichtbar. Die Einblendung von (b) funktioniert unabhaengig davon ob in dem Bereich Blockelemente vorhanden sind oder nicht. Beim Ausblenden funktioniert das aber nicht: (a) wird zwar wieder dargestellt, (b) aber nicht geloescht - solange Blockelemente im nicht-darzustellenden Bereich vorhanden sind und zwar unabhaengig davon, ob dieser als <span id="x"> oder <div id="x"> ausgezeichnet ist.

Wenn <div> aber andere Blockelemente enthalten kann, wieso koennen diese dann nicht ausgeblendet werden?

Hier ist der Code, der im NS7 nicht funktioniert schematisch:

  
  
<div id="a" style="display:block;">  
  
<a href="javascript://"  
onclick="document.getElementById('a').style.display='none';  
document.getElementById('b').style.display='block';">  
display (b)</a>  
  
</div>  
  
<div id="b" style="display:none;">  
  
  <div class="xyz">testtext</div>  
  
<BR />  
| <a href="javascript://"  
onclick="document.getElementById(b).style.display='none';  
document.getElementById(a).style.display='block';">  
close </a>  
  
</div>  
  

Wie gesagt, wenn ich statt

"<div class="xyz">testtext</div> <span class="xyz">testtext"</div> verwende, dann funktioniert alles wie es soll. Das verstehe ich nicht, wenn <div> weitere Blockelemente beinhalten darf.

Danke im voraus!

Gruss,
Tobias