Heim >Web-Frontend >js-Tutorial >Warum ist die Verwendung von „element.innerHTML = \'...\'` eine schlechte Praxis?

Warum ist die Verwendung von „element.innerHTML = \'...\'` eine schlechte Praxis?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-16 22:35:03972Durchsuche

Why is using `element.innerHTML  =

Die Gefahren des Anhängens mit Element.innerHTML

Sie haben Gerüchte gehört, dass das Verketten von Elementen mit element.innerHTML = „…“ ist ein Codierungs-Nein-Nein. Aber was genau ist daran schädlich?

Bedenken Sie den folgenden Ausschnitt:

var str = "<div>hello world</div>";
var elm = document.getElementById("targetID");

elm.innerHTML += str; // Not recommended?

Das Problem liegt im wiederholten Parsen und Rendern des HTML. Immer wenn innerHTML zugewiesen wird, muss der Browser den HTML-Code analysieren, das DOM erstellen und es in das Dokument einfügen. Dieser Vorgang ist zeitaufwändig und kann besonders bei komplexen HTML-Strukturen mühsam werden.

Aus diesem Grund wird von der Verwendung von innerHTML = zum einfachen Anhängen von Elementen abgeraten. Entscheiden Sie sich stattdessen für die appendChild-Methode:

var newElement = document.createElement('div');
newElement.innerHTML = '<div>Hello World!</div>';
elm.appendChild(newElement);

Durch die Verwendung von appendChild vermeiden Sie unnötiges erneutes Parsen und bewahren die Integrität der vorhandenen DOM-Elemente.

Hinweis: Während einige Browser möglicherweise den =-Operator optimieren, sollten Sie sich zur Leistungsoptimierung am besten nicht auf dieses Verhalten verlassen.

Das obige ist der detaillierte Inhalt vonWarum ist die Verwendung von „element.innerHTML = \'...\'` eine schlechte Praxis?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn