In welcher Reihenfolge werden DOMContentLoaded abgearbeitet?
bearbeitet von
Moin Linuchs,
nachdem ich [über das `DOMContentLoaded`-Event gestolpert bin](https://forum.selfhtml.org/m1812811), ist mir jetzt erst durch [Tabellenkals Antwort](https://forum.selfhtml.org/m1812813) noch etwas in diesem (langen und daher der Übersichtlichkeit halber umbrochenen) Einzeiler aufgefallen:
> ~~~js,bad
> // alle Audios auf halbe Lautstaerke
> for (let i = 0; i < document.querySelectorAll("audio").length; i++)
> document.querySelectorAll("audio")[i].volume = 0.2;
> ~~~
Neben der Anmerkung von @Tabellenkalk, dass du die Lautstärke absolut auf `0.2` setzt – unabhängig von der vorher tatsächlich verwendeten Lautstärke, ist deine Schleife auch ziemlich ineffizient, weil die Selektoren _n_ mal „gequeryd“ werden. Besser wäre einer der folgenden Ansätze:
~~~js,good
const audios = document.querySelectorAll("audio");
// Explizite Schleife:
for (let i = 0; i < audios.length; ++i) {
audios[i].volume = 0.2;
}
// Einzeiler:
audios.forEach((audio) => audio.volume = 0.2);
~~~
Viele Grüße
Robert