搜尋

首頁  >  問答  >  主體

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);

為什麼以上程式碼執行不了,用火狐瀏覽器運行時候沒有彈出窗口,求解?

黄舟黄舟2735 天前600

全部回覆(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
  • 取消回覆