javascript - 刚开始学习JS,遇到一个小问题求解
黄舟
黄舟 2017-05-19 10:26:53
0
5
597
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);

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

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(5)
曾经蜡笔没有小新

亲,你的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>
PHPzhong
<!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 看看这个

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

世界只因有你

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

phpcn_u1582

雷雷

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板