Javascript不会在浏览器中显示

时间:2017-08-14 21:55:54

标签: javascript html css

我在外部文件中使用Javascript,它似乎不会出现。我能看到的唯一语法是:alert(“Welcome user”);.没有别的东西会显示出来。以下是我正在使用的代码。

<html>
    <head>
        <title>Hello World</title>
        <link href="style.css" type="text/css" rel="stylesheet">
        <script type="text/javascript" src="script.js"></script>
    </head>
    <body>
        <script>
            var x, y, z;
            x = 5;
            y = 6;
            z = x*y;
            document.getElementById("z").innerHTML = z;
        </script>
        <h2>Hello World</h2>
        <p>Hello world!</p>
        <p class="popular">Test.</p2>
    </body>
</html>

添加的标签只是为了查看它是否可以在HTML文件中运行。但没有变化。

var time = new Date().getHours();
if (time < 20) {
  document.getElementById("demo").innerHTML = "have a good day!";
}

var x, y, z;
x = 5;
y = 6;
z = x*y;

document.getElementById("demo").innerHTML = z;

我希望有人可以帮助我解决这个问题,因为它真的很困扰我!

3 个答案:

答案 0 :(得分:1)

没有符合elementById()请求的元素。此外,您的外部文件在加载时执行,因此在body元素之前运行,并且其中的所有HTML元素都被创建。因此,您可能更喜欢在</body>关闭body元素之前插入脚本。

<html>
    <head>
        <title>Hello World</title>
        <link href="style.css" type="text/css" rel="stylesheet">
    </head>
    <body>
        <h2>Hello World</h2>
        <p>Hello world!</p>
        <p class="popular">Test.</p2>

        <div id="z"></div>
        <div id="demo"></div>

        <script>
            var x, y, z;
            x = 5;
            y = 6;
            z = x*y;
            document.getElementById("z").innerHTML = z;
        </script>
        <script type="text/javascript" src="script.js"></script>
    </body>
</html>

答案 1 :(得分:0)

您没有id="z"的元素或id="demo"

的元素

答案 2 :(得分:0)

更改为此,但您还需要将脚本移动到代码的底部:

document.getElementsByClassName("popular")[0].innerHTML = z;
相关问题