Robert B.: In welcher Reihenfolge werden DOMContentLoaded abgearbeitet?

Beitrag lesen

problematische Seite

Moin Linuchs,

Edit: Gunnar war schneller.

Nachdem ich über das DOMContentLoaded-Event gestolpert bin, ist mir jetzt erst durch Tabellenkals Antwort noch etwas in diesem (langen und daher der Übersichtlichkeit halber umbrochenen) Einzeiler aufgefallen:

// 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:

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