日期:2014-05-16  浏览次数:20411 次

这个问题大家看看,来者有分!!!!!!
Assembly code

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>HTML DOM创建元素本文</title>   
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <h2>下拉框</h2>
        <div id="testDiv"></div>
    </div>
     <script type="text/javascript">
    var select=document .createElement("select");
    select.options[0] = new Option("加载项1", "value1");
    select.options[1] = new Option("加载项2", "value2");
    select.options[2] = new Option("加载项3", "value3");
    select.options[3] = new Option("加载项4", "value4");
    select.size = "4";
    document.getElementById('testDiv').appendChild(select);
    </script>
    </form>
</body>
</html>


为什么换成下面的却有错误:
Assembly code

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>HTML DOM创建元素本文</title>
  <script type="text/javascript">
    var select=document .createElement("select");
    select.options[0] = new Option("加载项1", "value1");
    select.options[1] = new Option("加载项2", "value2");
    select.options[2] = new Option("加载项3", "value3");
    select.options[3] = new Option("加载项4", "value4");
    select.size = "4";
    document.getElementById('testDiv').appendChild(select);
    </script>   
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <h2>下拉框</h2>
        <div id="testDiv"></div>
    </div>
    </form>
</body>
</html>


为什么放在head里面不能正常执行呢 高手给我详细讲讲 还有什么情况下javascript代码不能放在head里面? 谢谢啦

------解决方案--------------------
执行顺序是从上到下

养成习惯,代码写在onload 中
window.onload=function(){

};
------解决方案--------------------
因为放到head里面,body里面的还没有加载,所以你的document.getElementById('testDiv')得到的为null,因此报错!
------解决方案--------------------
页面加载的顺序问题。放在head里面而又没有用window.onload包含时。此时页面还没形成div .因此document.getElementById('testDiv') 是获取不到内容的。
------解决方案--------------------
<script type="text/javascript">
</script>
写在这里的。
下面只是调用而已,
而且JSP的代码执行顺序是从上往下的


------解决方案--------------------
1 2 3++
------解决方案--------------------
注意一下页面的加载顺序。。
------解决方案--------------------
js脚本需要在页面元素加载完成后执行,最长见的错误。
------解决方案--------------------
1,2,3,4,5,6楼 
+1

------解决方案--------------------
一般要在DOM元素加载完后执行js代码...这样不容易出现找不到元素的问题 

代码都会放到这里
JScript code
$(document).ready(function(){
   //js代码
});

------解决方案--------------------
顺序问题!!!!!!!!!!!!!!
------解决方案--------------------