Hallo,
<div class="news">
<div class="intro">Kurztext 1</div>
<div class="text">Langtext 1</div>
</div>
Da eignet sich statt div-Suppe eine ul mit hX-Übershcriften und p-Elementen oder eine dl. Dann ist das Durchlaufen des DOM auch viel performanter möglich, da man nicht die Klassen von unzähligen divs im Dokuments abfragen muss.
function displayNews(newsObj,ignoreOld) {
if(!ignoreOld) {
initNews["activeNews"].getElementsByTagName('div')[1].style.display='none';
initNews["activeNews"].getElementsByTagName('div')[0].style.display='block';
initNews["activeNews"]=newsObj;
}
initNews["activeNews"].getElementsByTagName('div')[0].style.display='none';
initNews["activeNews"].getElementsByTagName('div')[1].style.display='block';
}
getElementsByTagName muss hier nur einmal ausgeführt werden (wobei man Referenzen zwischen den zu einer News gehörigen Elementen auch schon beim Initialisieren einrichten kann).
Wieso gerade initNews["activeNews"] schreiben, aber alle anderen Unterobjekte mit der Punkt-Notation ansprechen?
Mathias