读书人

这个有关问题大家看看来者有分!

发布时间: 2012-03-30 17:32:10 作者: rapoo

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

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代码});
[解决办法]
顺序问题!!!!!!!!!!!!!!
[解决办法]


探讨

执行顺序是从上到下

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

};

[解决办法]
执行顺序是从上到下~
[解决办法]
听说都有分 。
月经问题 。
[解决办法]
问题解决了 我是来接分的
[解决办法]
跟我开始学的时候一样,呵呵 ,祝你进步
[解决办法]
楼主应该明白了吧,我是来接分的
[解决办法]
好吧来学习的
[解决办法]
探讨

进来学习的。。。。

[解决办法]
:-(
[解决办法]
其实跟head是没有多大关系的,js是顺序下来的!而在那个id为testDiv之前,document.getElementById("testDiv");是得不到结果的!所以需要在div之后才能执行js脚本!或者用onload = “functionname()”在body里加载
[解决办法]
前面的说了,我来接点分。呵呵。
[解决办法]

[解决办法]
有分拿吗?
[解决办法]
就是加载顺序问题,如果放在head里

写在window.onload=function (){ //代码写这里 }
[解决办法]
楼上的大牛们已经回答了,我也就来顶一下~
[解决办法]
顺序问题
[解决办法]
这是因为在这个html还没有加载完的时候js已经执行了
也就是说
document.getElementById('testDiv').appendChild(select);
在执行的时候
<div id="testDiv"></div> 还没有加载所以
document.getElementById('testDiv') == undefined
undefined后面在点方法肯定会报错。
[解决办法]
不会的飘过~~听说有分我就来了~~

读书人网 >JavaScript

热点推荐