recherche

Maison  >  Questions et réponses  >  le corps du texte

Impossible d'utiliser la boucle foreach sur la collection HTML

<p>J'ai deux fichiers, l'un est un fichier js :</p> <pre class="brush:php;toolbar:false;">const a = document.getElementsByTagName("body")[0]; const d = a.getElementsByTagName("h1"); d.forEach(element => { element.innerHTML = "Texte modifié"; });</pré> <p>Il existe également un fichier html : </p> <pre class="brush:php;toolbar:false;"><!DOCTYPE html> <html lang="fr"> <tête> <titre>David </titre> ≪/tête> <corps> <h1>Bonjour 1</h1> <h2>David</h2> <h3>Ariel</h3> <h4>Yahav</h4> <h1>Bonjour 2</h1> <h1>Bonjour 3</h1> <script src="food.js"></script> </corps> </html></pre> <p>J'ai essayé de changer le texte de chaque élément h1 par le même texte, mais cela n'a pas fonctionné, c'est-à-dire que lorsque je l'exécute sur le navigateur, tout le texte "h1" reste toujours le même. </p> <p>Je ne sais pas pourquoi, puisque "d" est une collection HTML et que j'utilise foreach pour l'exécuter. </p> <p>En gros, tout est assez simple, donc je ne sais pas ce que je peux essayer. </p> <p>Merci pour toute aide ! </p>
P粉930534280P粉930534280526 Il y a quelques jours527

répondre à tous(1)je répondrai

  • P粉864594965

    P粉8645949652023-08-30 00:31:40

    Vous ne devriez pas utiliser forEach car HTMLCollections n'implémente pas la méthode forEach.

    Utilisez une boucle for

    const a = document.getElementsByTagName('body')[0]
    const d = a.getElementsByTagName('h1')
    
    for (let elem of d) {
        elem.innerHTML = '新文本'
    }

    répondre
    0
  • Annulerrépondre