suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Javascript – Ich habe gerade angefangen, JS zu lernen und bin auf ein kleines Problem gestoßen, das ich lösen muss.

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>

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

Warum kann der obige Code nicht ausgeführt werden? Es gibt kein Popup-Fenster, wenn er im Firefox-Browser ausgeführt wird.

黄舟黄舟2753 Tage vor614

Antworte allen(5)Ich werde antworten

  • 曾经蜡笔没有小新

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

    亲,你的js文件应该放到下面去,加载顺序不对

    <!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>

    Antwort
    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>

    因为你的代码没有写全, 我猜你是把加载顺序写反了

    执行时机
    window.load 看看这个

    Antwort
    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>

    亲测这样的代码在firefox能够弹出窗口。有可能是你firefox禁止弹出alert框。
    转用console.log(document.getElementById("box").innerHTML) f12查看控制台输出。

    是的,如上一位兄台所说你的js是在body代码之前src进来的,那时候还没有dom,所以获取不到id=box这个节点。这样就会报错,学js的一定要会的一件事就是打开浏览器控制台查看有没有报错。

    Antwort
    0
  • 世界只因有你

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

    难道是你把alert写在abc.js里了?如果这样的话,alert执行的时候是获取不到id="box"的元素的

    Antwort
    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>

    Antwort
    0
  • StornierenAntwort