Warum sind meine JavaScript for-Loop-Sprungelemente? [Duplikat

Diese Frage hat hier bereits eine Antwort:

getElementsByClassName - Seltsames Verhalten 3 answers

Ich habe einfor -Schleife, die eine Reihe von Elementen durchläuft und das @ entfer'selected' Klasse von jedem. Es wird jedoch jede zweite Iteration übersprungen. Ich habe festgestellt, dass ich das umgehen kann, indem ich @ hinzufügj--, was meiner Meinung nach in Ordnung ist, außer dass ich meinen Code verlängere. Aber ich frage mich, ob jemand erklären könnte, warum es überspringt, und vielleicht eine prägnantere Art, diesen Code zu schreiben, vorschlagen könnte. (Ich lerne immer noch die Seile und möchte sicherstellen, dass ich verstehe, was los ist.)

var selections = document.getElementsByClassName(name + 'selected');
for (var j = 0; j < selections.length; j++) {
  selections[j].classList.remove('selected');
  j--; // the fix
}

// where name is a present variable

Vielen Dank für Ihre Zeit

Antworten auf die Frage(4)

Ihre Antwort auf die Frage