Heim > Fragen und Antworten > Hauptteil
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.
曾经蜡笔没有小新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>
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 看看这个
世界只因有你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的一定要会的一件事就是打开浏览器控制台查看有没有报错。
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>