这个问题困扰我几个小时了,网上也查不到。手册翻了无数遍。真的很奇怪!头发都愁白了。正题:index.html(源代码)<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>实验</title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <script language="JavaScript" type="text/javascript" src="js.js">
    </script>
</head>
<body>
    <p id="test">测试</p>
</body>
</html>

js.js(源码)
document.getElementById("test").style.color="red";为什么“测试”不能成为红色?可笑的是,我不采用外部脚本, 直接把 document.getElementById("test").style.color="red"; 放置到body之间。把head之间的<script>标签删除掉。这却能生效。why??望各位高手告诉我这是怎么回事?我拿火狐,ie,谷歌浏览器都浏览了一下。全都是这样,所以排除浏览器问题。要说我代码写错了。可我检查了几十遍。翻了无数的手册,就是看不出来哪里出现了问题?也许你会认为我的引入外部脚本方法失效,可是我把document.getElementById("test").style.color="red";改成 window.alert("到底有没有!");代码,浏览器还是会弹出这个警告框的。哎没办法!问你们得了. 这个问题在php100里问过。没有人回答。听说这里高手多。小弟我带着这诡异的问题来问问各位大大。请教一下。。谢谢!!!

解决方案 »

  1.   

    不诡异。 LZ给你这个代码加到window.onload=function(){...(你的js句子)}
      

  2.   

    是啊。我用firebug看了一下。确实是这么说的。但是应该怎么做啊?
      

  3.   

    要是这个问题还无法解决。后面的DOM怕是无法学习下去了。还有,不知道你们发现没有。javascript入门经典第四版里面不会把这个句子放在外部文件,却喜欢放到html文档里。还有DOM编程艺术也是这样的。难道他们知道这问题。?却不知道如何解决?(仅仅是我的猜测。并没有存心诋毁这两部著作)/
      

  4.   

    js.js(源码)
    window.onload=function (){
    document.getElementById("test").style.color="red";
    }
      

  5.   

    哈哈 。有效果!!!谢谢你了!辛苦你了。!!你新添的代码就是在加载页面的时候调用这个函数对吧?哎呀。这个问题困扰我三天了。现在总算可以继续学习DOM了。爱死你了!!!