脚本标签不会执行但如果我把它放在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>
答案 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代码来操纵正文,你必须将它放在正文中。