Die foreach-Schleife kann nicht für die HTML-Sammlung verwendet werden
P粉930534280
2023-08-29 09:48:35
<p>Ich habe zwei Dateien, eine davon ist eine JS-Datei:</p>
<pre class="brush:php;toolbar:false;">const a = document.getElementsByTagName("body")[0];
const d = a.getElementsByTagName("h1");
d.forEach(element => {
element.innerHTML = "Text geändert";
});</pre>
<p>Es gibt auch eine HTML-Datei: </p>
<pre class="brush:php;toolbar:false;"><!DOCTYPE html>
<html lang="en">
<Kopf>
<Titel>David
</title>
</head>
<Körper>
<h1>Hallo 1</h1>
<h2>David</h2>
<h3>Ariel</h3>
<h4>Yahav</h4>
<h1>Hallo 2</h1>
<h1>Hallo 3</h1>
<script src="food.js"></script>
</body>
</html></pre>
<p>Ich habe versucht, den Text jedes h1-Elements in denselben Text zu ändern, aber es hat nicht funktioniert. Wenn ich es im Browser ausführe, bleibt der gesamte „h1“-Text immer noch derselbe. </p>
<p>Ich bin mir nicht sicher, warum, da „d“ eine HTML-Sammlung ist und ich foreach verwende, um darauf auszuführen. </p>
<p>Im Grunde ist alles ziemlich einfach, daher bin ich mir nicht sicher, was ich ausprobieren kann. </p>
<p>Danke für jede Hilfe! </p>
你不应该使用
forEach
,因为HTMLCollections没有实现forEach方法。使用for循环