外部 javascript 文件无法在 HTML 文件中运行

问题描述 投票:0回答:2

我正在尝试从 javascript 文件更改 div 的属性,但它不起作用,如果我将其放入 body 中,它会起作用,但我想从某些项目的外部 js 文件中处理它。

HTML 文件

<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title>Calendar</title>
    <link rel="stylesheet" href="css/styles.css">
    <script src="javascript/cal.js"></script>
  </head>
  <body>

    <div id="container">

      <div id="calendar-view">

      </div>

      <div id="events-view">

      </div>

    </div>


  </body>
</html>

CSS 文件

*{
  box-sizing: border-box;
}

#calendar-view{
  float: left;
  width: 70%;
  background-color: blue;
  height: 200px;
}

#events-view{
  float: left;
  width: 30%;
  height: 200px;
  background-color: red;
}

#container::after{
  content: "";
  clear: both;
  display: table;
}

Javascript 文件

function startUp(){
  document.getElementById("calendar-view").style.display = "none";
}

startUp();

我正在尝试从 javascript 文件更改 div 的属性,但它不起作用,如果我将其放入 body 中,它会起作用,但我想从某些项目的外部 js 文件中处理它。

javascript html css
2个回答
1
投票

当您在

<header>
导入 JS 文件时,您的 JS 会加载,然后是您的正文。

当您在

<body>
之后导入 JS 文件时,您的 body 会加载,然后是 JS。

第一个解决方案是将你的JS文件放在

</body>
之后。第二种是将函数调用放在 window onload 事件监听器中


0
投票

您必须将

<script src="javascript/cal.js"></script>
放在
</body>
标签的末尾。

在浏览器通过 HTML 获取元素之前,您无法从 DOM 中获取元素。

© www.soinside.com 2019 - 2024. All rights reserved.