Nun, zuerst das Aktualisieren des DOM innerhalb einer Schleife ist eine große Leistung "nein nein" als sukzessive Änderungen an das DOM verursachen den Benutzer-Agent neu aufzubauen das DOM jedes Mal.
Erstellen Sie stattdessen eine Zeichenfolge in Ihrer Schleife und legen Sie den endgültigen Wert der Zeichenfolge in Ihrem DOM-Element fest, sobald die Schleife abgeschlossen ist.
Außerdem gilt .innerHTML
für, wenn Sie eine Zeichenfolge übergeben, die HTML enthält, um den Inhalt eines Elements und die Zeichenfolge von dem HTML-Parser analysiert wird. Wenn Sie keine Zeichenfolge zuweisen, die HTML enthält, verwenden Sie stattdessen .textContent
, um diese zusätzliche Arbeit zu vermeiden.
Jetzt zu Ihrem Problem, verwenden Sie =
, wenn Sie +=
verwenden sollten, um jeden neuen Wert auf den letzten Wert verkettet zu haben. Und Sie brauchen return
nichts von dieser Funktion, Sie brauchen es nur, um das Element zu aktualisieren:
function GETJSON() {
var result = "";
for (var i = 0; i < jsoDemo.length; i++) {
result += jsoDemo[i].name;
}
document.getElementById("demoX").textContent = result;
}
Sie sollten das DOM nie innerhalb einer Schleife aktualisieren. –
@ScottMarcus warum ist das? – zevee
Lies meine Antwort. –