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

Le innerHTML du bouton ne peut pas être affiché à l’écran

J'ai donc un problème avec innerHTML. J'ai un tableau de boutons vide et je le remplis à l'aide d'une boucle for. Ensuite, j'utilise une autre boucle for pour définir le innerHTML de chaque bouton sur "Info", mais lorsque je vérifie mon site, les boutons sont toujours vides.

//数组
                let buttons = [];

                //循环问题
                for(let i = 0; i < 2; i++)
                {
                    //填充按钮数组的循环
                    for(let l = 0; l < 4; l++)
                {
                    buttons[l] = $(`#btn${l}`);
                } 

                //循环设置按钮的innerHTML
                for(let s = 0; s < buttons.length; s++)
                {
                    buttons[s].innerHTML = "Info";
                }


                }


            <!DOCTYPE html>
            <html lang="en">
            <head>
                <meta charset="UTF-8">
                <meta http-equiv="X-UA-Compatible" content="IE=edge">
                <meta name="viewport" content="width=device-width, initial-scale=1.0">
                <title>Quiz Game</title>
            </head>
            <body>
            <!-- 主容器 -->
                <div class="main-container">
                    <!-- 头部 -->
                    <h1 class="header" id="header">Quiz Game</h1>

                    <!-- 按钮 -->
                    <button id="btn0"></button>

                    <button id="btn1"></button>

                    <button id="btn2"></button>

                    <button id="btn3"></button>
                </div>


            <script src="/library/jquery-3.6.3.min.js"></script>
            <script src="test1.js"></script>
            </body>
            </html>
P粉024986150P粉024986150405 Il y a quelques jours473

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

  • P粉667649253

    P粉6676492532023-09-11 00:06:53

    Avec jQuery, vous devriez mieux appeler buttons[s].html("Info");来设置innerHTML。然而,在这里使用buttons[s].text("Info"); car il n'y a en fait aucune balise HTML dans la chaîne.

    Vous pouvez également utiliser un sélecteur pour sélectionner tous les boutons commençant par "btn" et définir leur texte en une seule fois.

    const buttons = $('[id^=btn]');
    buttons.text('Info');
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <button id="btn0"></button>
    <button id="btn1"></button>
    <button id="btn2"></button>
    <button id="btn3"></button>

    répondre
    0
  • Annulerrépondre