javascript - 剛開始學習JS,遇到一個小問題求解
黄舟
黄舟 2017-05-19 10:26:53
0
5
611
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

雷雷

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板