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);
為什麼以上程式碼執行不了,用火狐瀏覽器運行時候沒有彈出窗口,求解?
曾经蜡笔没有小新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的一定要會的一件事就是打開瀏覽器控制台查看有沒有報錯。