脚本标记不适用于head标记

时间:2015-12-14 10:28:39

标签: javascript

如果我把它放在head标签中,

脚本标签不会执行但如果我把它放在body标签中工作正常..可以告诉我这背后的原因吗?这是我的代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>Untitled 1</title>
</head>

<body>
<p id="demo"></p>

<script>
document.getElementById("demo").innerHTML = Date();
</script>


</body>

</html>

2 个答案:

答案 0 :(得分:2)

那是因为HTML是从上到下解析的。这意味着当您尝试获取元素 演示 时,尚未创建它。

要使其在 head 标记中起作用,您应该添加一个侦听器,该页面完全加载时将触发。

document.addEventListener("DOMContentLoaded", function() {
  // Here the DOM elements are loaded, and you can get them with .getElementById.
  document.getElementById("demo").innerHTML = Date();
});

答案 1 :(得分:0)

<head>用于包含其他文件和库等(您也可以将它们包含在正文中)。但是如果你想真正编写JS代码来操纵正文,你必须将它放在正文中。

相关问题