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

javascript - Je viens de commencer à apprendre JS et j'ai rencontré un petit problème à résoudre.

HTML代码:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Blog</title>
    <script type="text/javascript" src="scripts/abc.js"></script>
</head>
<body>
    <p id="box">id</p>
</body>
</html>

Code JS :
alert(document.getElementById("box").innerHTML);

Pourquoi le code ci-dessus ne peut-il pas être exécuté ? Il n'y a pas de fenêtre contextuelle lors de son exécution dans le navigateur Firefox. De l'aide ?

黄舟黄舟2686 Il y a quelques jours565

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

  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-19 10:28:53

    Cher, vos fichiers js doivent être placés ci-dessous, l'ordre de chargement est erroné

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Blog</title>
    </head>
    <body>
        <p id="box">id</p>
         <script type="text/javascript" src="scripts/abc.js"></script>
    </body>
    </html>

    répondre
    0
  • PHPz

    PHPz2017-05-19 10:28:53

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Blog</title>
        <script type="text/javascript" src="scripts/abc.js"></script>
    </head>
    <body>
        <p id="box">id</p>
    </body>
    <script>
        alert(document.getElementById("box").innerHTML);
    </script>
    </html>

    Comme votre code n'est pas entièrement écrit, je suppose que vous avez écrit l'ordre de chargement à l'envers

    Calendrier d'exécution
    window.load regarde ça

    répondre
    0
  • 世界只因有你

    世界只因有你2017-05-19 10:28:53

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Blog</title>
        <script type="text/javascript" src="scripts/abc.js"></script>
    </head>
    <body>
        <p id="box">id</p>
        <script>
            alert(document.getElementById("box").innerHTML);
        </script>
    </body>
    </html>

    Testez personnellement que ce code peut ouvrir une fenêtre dans Firefox. Il est possible que votre Firefox empêche l'apparition des boîtes d'alerte.
    Passez à console.log(document.getElementById("box").innerHTML) f12 pour afficher la sortie de la console.

    Oui, comme l'a dit le frère précédent, votre js arrive en src avant le code du corps. Il n'y avait pas de dom à ce moment-là, donc le node id=box ne peut pas être obtenu. Cela signalera une erreur. Une chose que ceux qui apprennent js doivent savoir est d'ouvrir la console du navigateur pour voir s'il y a une erreur.

    répondre
    0
  • 世界只因有你

    世界只因有你2017-05-19 10:28:53

    Avez-vous écrit l'alerte dans abc.js ? Si tel est le cas, l'élément avec id="box" ne peut pas être obtenu lors de l'exécution de l'alerte

    .

    répondre
    0
  • phpcn_u1582

    phpcn_u15822017-05-19 10:28:53

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Blog</title>
        <script type="text/javascript">
        function test(){
            alert(document.getElementById("box").innerHTML);
        };
        window.onload=test;
        </script>
    </head>
    <body>
        <p id="box">id</p>
    </body>
    </html>

    répondre
    0
  • Annulerrépondre