首页  >  问答  >  正文

javascript - 刚开始学习JS,遇到一个小问题求解

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代码:
alert(document.getElementById("box").innerHTML);

为什么以上代码执行不了,用火狐浏览器运行时候没有弹出窗口,求解?

黄舟黄舟2734 天前596

全部回复(5)我来回复

  • 曾经蜡笔没有小新

    曾经蜡笔没有小新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>

    回复
    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 看看这个

    回复
    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的一定要会的一件事就是打开浏览器控制台查看有没有报错。

    回复
    0
  • 世界只因有你

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

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

    回复
    0
  • phpcn_u1582

    phpcn_u15822017-05-19 10:28:53

    雷雷

    回复
    0
  • 取消回复