为什么向文本输入不了内容?
<script type="text/javascript">
window.document.my_form.my_text_area.value = "Hi..";
</script>
</head><body>
<form name="my_form">
Number:<input type="text" name="my_text_area" />
</form>
<script type="text/javascript">
window.document.my_form.my_text_area.value = "Hi..";
</script>
</head><body>
<form name="my_form">
Number:<input type="text" name="my_text_area" />
</form>
没有问题啊
<head>
<title></title>
</head>
<body>
<form name="my_form">
Number:<input type="text" name="my_text_area" />
</form>
<script> window.document.my_form.my_text_area.value = "Hi..";
</script>
</body>
</html>页面没加载。。不能调用其元素
<script type="text/javascript">
window.onload = function() {
window.document.my_form.my_text_area.value = "Hi..";
}
</script>
// do your stuff inside window.onload, or put your <script> lable after </body>
}
<head>
<title></title>
<script> window.onload = function () { window.document.my_form.my_text_area.value = "Hi.."; }
</script>
</head>
<body>
<form name="my_form">
Number:<input type="text" name="my_text_area" />
</form>
</body>
</html>想把它放在head里。。可以用onload
这个问题就有点大了,跟浏览器对HTML、JS的执行机制有关,感觉很难用几句话来表达,需要系统学习后才能理解。
JS是典型的解释型语言,最主要的特点之一就是“边加载边解释”,也就是按照代码的顺序进行解释执行,但实际过程就没这么简单了,我的理解是浏览器对JS的解释过程可以分为预处理(预编译)和代码执行两个步骤,对于函数来说,正是有了预处理这种机制,才使得函数可以“先执行、后定义”这种能力,比如:
demo();
function demo() { alert("DEMO"); }浏览器对HTML代码的处理又不一样,是严格按照代码的顺序来建立DOM结构的,浏览器解析html代码,按照代码顺序将元素添加到树状结构的文档对象中。具体到你写的代码,实际上并没有涉及到函数的概念。
买本经典的JS教材(比如最新出版的《Javascript权威指南第六版》),边啃书本边实践。
你说的JS会记住函数与之关联的JS代码,是指JS的。例如:<script type="text/javascript">
kk ();
//-----华丽的分割线-------
function kk (){
alert('你好!');
}</script>和<script type="text/javascript">
function kk (){
alert('你好!');
//-----华丽的分割线-------
kk ();
}
</script>是一个道理但是你现在是和DOM交互。当然要讲先后顺序。
这个是DOM和JS的顺序,不是JS函数与代码的顺序