在html文件中放置脚本标记会改变输出吗?

时间:2014-12-21 13:49:57

标签: javascript html5 func

我尝试在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>

5 个答案:

答案 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元素