JavaScript在我的任何浏览器中都不起作用

JavaScript在我的任何浏览器中都不起作用,javascript,Javascript,我只是在学习JavaScript,出于某种原因,这个简单的示例1无法在我的任何浏览器(FireFox、IE和Chrome)中使用Jon Duckett的JavaScript和Jquery书籍。我确保JavaScript已打开。我还在index.html文件中添加了noscript标记,以确保启用了JavaScript。我的JSFIDLE工作得很好,但在我的浏览器中什么都没有。以下是我的Atom编辑器中的所有内容。我的链接是正确的,因为我复制了完整路径,然后将其粘贴到src中。然后我删除了所有的C

我只是在学习JavaScript,出于某种原因,这个简单的示例1无法在我的任何浏览器(FireFox、IE和Chrome)中使用Jon Duckett的JavaScript和Jquery书籍。我确保JavaScript已打开。我还在index.html文件中添加了noscript标记,以确保启用了JavaScript。我的JSFIDLE工作得很好,但在我的浏览器中什么都没有。以下是我的Atom编辑器中的所有内容。我的链接是正确的,因为我复制了完整路径,然后将其粘贴到src中。然后我删除了所有的C:\用户。。。。。。。直到我进入包含所有文件的文件夹,最终得到JSFIDLE中的内容

html:

css:

谢谢

您想在html的末尾添加脚本标记。执行时,元素问候语不存在

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8" />
  <title>Greeting JavaScript</title>
  <link rel="stylesheet" href="css/styles.css">
</head>
<body>
  <noscript>Your Browser Does Not Support JavaScript.  Please Enable It.</noscript>
  <section>
    <div id="header">
      <h1>Constructive &amp; Co.</h1>
    </div>
    <h3 id="greeting"></h3>
    <p>For all orders and inquiries please call <em>555-3344</em></p>
  </section>
  <script src="scripts/greeting.js"></script>
</body>
</html>

使用document.getElementById而不是document.write真是太棒了

即使你做了一把小提琴,你也应该把代码放在这里,让它非常容易阅读。JSFiddle在你的浏览器中运行,所以javascript在你的浏览器中工作……你在html头部将脚本拼错为scipt。根据你的例子,Matt有一点:我只是将scipt改为脚本,但出于某种原因,仍然没有任何东西——这就做到了!非常感谢你,伙计!你知道为什么将脚本放在头部时会发生这种情况吗?这是因为执行脚本时元素不存在。您可以将脚本包装到addEventListenerreadystatechange中,函数{if document.readyState===interactive{/**/},false;在解析完成时运行它。我花了一段时间才明白你在说什么,但我想我现在明白了。脚本在加载HTML之前执行,因此将脚本放在底部允许加载HTML,然后再加载脚本。谢谢你的帮助
var today = new Date();
var hourNow = today.getHours();
var greeting;

if (hourNow > 18) {
 greeting = 'Good evening!';
} else if (hourNow > 12) {
 greeting = 'Good afternoon!';
} else if (hourNow > 0) {
 greeting = 'Good morning!';
} else {
 greeting = 'Welcome!';
}

document.getElementById("greeting").innerHTML = greeting;
@import url(http://fonts.googleapis.com/css?family=Open+Sans:800italic);

body {
font-family: "Courier New", Courier, monospace;
/*background: url("../images/constructive-backdrop.jpg") no-repeat center center fixed;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;*/
background: #a18957;
margin: 0px;
padding: 0px;
text-align: center;
}
section {
margin-top: 20px;
margin-left: 20px;
height: 500px;
width: 400px;
background: #eee;
border: 1px solid #292929;
}
#header {
height: 200px;
margin: 10px;
background: rgba(227, 192, 186, 0.78);
}
h1 {
margin: 0px;
position: relative;
top: 45%;
}
h3 {
height: 100px;
margin: 10px;
background: red;
}
p {
margin: 10px;
height: 100px;
}
<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8" />
  <title>Greeting JavaScript</title>
  <link rel="stylesheet" href="css/styles.css">
</head>
<body>
  <noscript>Your Browser Does Not Support JavaScript.  Please Enable It.</noscript>
  <section>
    <div id="header">
      <h1>Constructive &amp; Co.</h1>
    </div>
    <h3 id="greeting"></h3>
    <p>For all orders and inquiries please call <em>555-3344</em></p>
  </section>
  <script src="scripts/greeting.js"></script>
</body>
</html>
addEventListener("readystatechange", function () {
  if (document.readyState === "interactive") {

    var today = new Date();
    var hourNow = today.getHours();
    var greeting;

    if (hourNow > 18) {
      greeting = 'Good evening!';
    } else if (hourNow > 12) {
      greeting = 'Good afternoon!';
    } else if (hourNow > 0) {
      greeting = 'Good morning!';
    } else {
      greeting = 'Welcome!';
    }

    document.getElementById("greeting").innerHTML = greeting;

  }
}, false);