Hallo artnat,
for (j=0 ; j<document.getElementsByTagName("h1").length; j++)
{
for (i=1 ; i<llis; i++ )
{
if (liste[i]==document.getElementsByTagName("h1")[j].firstChild.data)
{
document.writeln("<div id="v-briefeintrag"><a href="../briefe/" + liste[i] + ".htm">" + document.getElementsByTagName("h2")[j].firstChild.data + "</a></div>")
document.writeln("<div id="v-inhalt">" + document.getElementsByTagName("h3")[j].firstChild.data + "</div>")
}
}
}
Zugriffe auf Arrays, Objekte oder gar Domelemente sollte man in Schleifen wenn möglich vermeiden. Daher solltest du die Zugriffe auf "h1", "h2" und "h3" außerhalb der i-Schleife durchführen und zwischenspeichern:
~~~javascript
e_h1 = document.getElementsByTagName("h1");
e_h2 = document.getElementsByTagName("h2");
e_h3 = document.getElementsByTagName("h3");
in der j-Schleife:
e_h1j = e_h1[j];
e_h2j = e_h2[j];
e_h3j = e_h3[j];
und dann in der i-Schleife
e_h1.length
, e_h1j.firstChild.data
, e_h2j.firstChild.data
oder e_h3j.firstChild.data
Der Zugriff auf liste erfolgt nur zweimal in der i-Schleife, hier erwarte ich von einem Zwischenspeichern keinen großen Gewinn.
Gruß, Jürgen