javascript代码在HEAD标记中不起作用

Ami*_*inM 2 html javascript head

我的网页包含以下代码:

<html>
<head>
    <title>This is test Page</title>

     <script language="javascript" type="text/javascript">

         document.getElementById("msg1").innerHTML = document.URL.toString();
        </script>

</head>
<body>

    <div class="sss">
        <p id="msg1"></p>
    </div>


</body>
</html>
Run Code Online (Sandbox Code Playgroud)

正如你现在在脚本执行时div不存在,但我想只将我的JavaScript代码放在<head>标签中,我不会把它放在HTML代码的中间.

但是这个代码仅在我将<script>标记放在标记之后才有效<div>.我使用VS2010和firefox 19.0.1

无论如何将代码放入<head>标签中?

Tha*_*san 13

您的脚本依赖于DOM准备就绪,因此您需要在DOM准备好后才执行该函数调用.

<script language="javascript" type="text/javascript">

window.onload = function() {
    document.getElementById("msg1").innerHTML = document.URL.toString();
}

</script>
Run Code Online (Sandbox Code Playgroud)


Abb*_*imi 5

您的脚本使用DOM元素,因此必须在加载DOM后运行.您可以使用此功能执行此操作:

$(document).ready(function(){
    //code here
}
Run Code Online (Sandbox Code Playgroud)

  • 这是一个 jQuery 解决方案,但没有在问题中使用 jQuery 的迹象,您也没有在答案中提到它。这可能会误导阅读此答案的人。 (3认同)