javascript - 需要帮助让 Hello World 应用程序工作

标签 javascript html

我正在尝试弄清楚如何让 javascript 在单独的文件中与 html 一起工作,以便我可以按照本教程进行操作 https://www.w3schools.com/howto/howto_css_modals.asp我无法弹出警报。

这是我的代码。

到目前为止,我只能得到一个不执行任何操作的按钮。

var hellobutton = document.getElementById("hello");
hellobutton.onclick = function() {
alert("Hello World")
}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <link rel="stylesheet" type="text/css" href="/static/main.css">
    <script type="text/javascript" src="/static/main.js"></script>
    <title>Title</title>
</head>
<body>
<div class="content-section">
<h1>Page</h1>
    <input type = "button" id="hello" value = "Say Hello" />
</div>
</body>
</html>

代码在这里有效,但在我的电脑上无效。

最佳答案

它在第 2 行抛出错误,因为它找不到任何已加载该条件的元素,因此它在第 1 行返回 null。值 null 为“无”,因此您无法设置“的 onclick 事件”没有什么”。 解决此问题的一种方法是在加载 html 元素后加载 js(无需编辑 js 文件):

<!DOCTYPE html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <link rel="stylesheet" type="text/css" href="/static/main.css">
  <title>Title</title>
 </head>
 <body>
  <div class="content-section">
  <h1>Page</h1>
  <input type = "button" id="hello" value = "Say Hello" />
  </div>
  <script type="text/javascript" src="/static/main.js"></script>
 </body>
</html>

或者仅在加载文档时调用 js 代码(无需编辑 html 文件):

document.addEventListener('DOMContentLoaded', function() {
   var hellobutton = document.getElementById("hello");
   hellobutton.onclick = function() {
          alert("Hello World")
   }
}, false);

我找到了这段代码 here .

关于javascript - 需要帮助让 Hello World 应用程序工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56317439/

相关文章:

javascript - 如何防止 AngularJS 在 $resource 操作中对 GET 请求中的参数进行排序?

javascript - 如何限制 react 三纤维MapControls中的平移距离

javascript - 如何将 mongodb 查询的结果保存到 javascript 变量中?

javascript - 通过数字和字符串设置 new Date() 会给出不同的结果

jQuery hover() 隐藏/显示导致反弹

javascript - HTML - PHP 中的 'onclick' 确认函数

javascript - 全日历检测右键单击议程 View 上的空白时间段

javascript - 输入类型文件将文件路径添加到跨度

php - 无法让 foreach 使用 PHP 正确生成 html 表

javascript - 仅使用 JS HTML CSS 移动 Div [需要改进代码并可能缩短它]