我尝试在head标签中放置一个javascript代码,但是浏览器没有提供任何输出,但是当我将脚本标签放在我在功能中定位的div下时,它完美地工作。为什么会这样?
下面是我试过的代码:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
<script>
function myValues(){
var i, max = 0;
for(i = 0; i < arguments.length; i++){
if(arguments[i] > max){
max = arguments[i];
}
}
return max;
}
document.getElementById("demo").innerHTML = myValues(1, 5, 0, 55, 78, 8989, 3166);
</script>
</head>
<body>
<div id="demo"></div>
</body>
</html>
答案 0 :(得分:3)
它不会在head
标记中工作,因为DOM尚未加载。它不知道demo元素的位置。
如果你把它放在onload
函数上,它将在页面加载后执行。如果你将它向下移动到主DOM下面的页面,它也可以在脚本运行之前加载元素。
答案 1 :(得分:0)
因为脚本立即运行,并且页面尚未创建#demo
元素。
答案 2 :(得分:0)
您应该在div#demo
之后的某处放置脚本标记。因为你需要在脚本中使用它。最好的地方是把它放在</body>
答案 3 :(得分:0)
如果您将<script>
标记放在<div>
上方,则脚本运行时该元素将不存在。
答案 4 :(得分:0)
脚本出现在代码中时会出现Javascript,因此将它放在要更改的HTML之前将不会执行任何操作,因为demo元素尚不存在。您应该将脚本放在html之后的demo元素