代码放在head里面没有效果

来源:1-2 新朋友你在哪里(如何插入JS)

听羽

2016-09-13 21:15

我把js代码放在了head里面,document.write("开启JS之旅");这个可以打印出来,但document.getElementById("p1").style.color="blue";没起作用,想问下如何解决,期待大神们回答。

<!DOCTYPE HTML>
<html>
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=gb18030">
   <title>插入js代码</title>
   <script type="text/javascript">
   window.onload=function(){
       document.write("开启JS之旅!");
       document.getElementById("p1").style.color="blue";
   }
   </script>
</head>
<body>
<p id="p1">我要改变颜色</p>
</body>
</html>

写回答 关注

2回答

  • dingchao
    2016-09-13 22:11:11
    已采纳
    <!DOCTYPE HTML>
    <html>
    <head>
       <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
       <title>插入js代码</title>
           <script type="text/javascript">
       
            document.write("开启JS之旅!");
         
           window.onload=function(){
            document.getElementById('p1').style.color="blue";
          }
    
       </script>
    </head>
    <body>
    <p id="p1">我要改变颜色</p> 
    </body>
    </html>

    当你用window.onload再document.write给页面赋值的时候,你已经改变了整个body的内容,p标签中的内容已经被代替了,已经找不到p标签了。正解如上

    听羽

    我也调试出来了,谢谢

    2016-09-13 22:36:01

    共 1 条回复 >

  • 慕勒3800520
    2016-09-13 21:31:43

    js代码放在head处页面会先加载js里的内容然后再加载body里的内容,因为你在js里设置的颜色被后面的覆盖掉了,因此js代码最好放在</body>之前。

    听羽

    原因我知道,但我记得老师讲过可以放在head里面的,具体怎么写我忘了,我想知道放在head里面该怎么写,还有感谢你的回答。

    2016-09-13 21:37:32

    共 1 条回复 >

JavaScript入门篇

JavaScript做为一名Web工程师的必备技术,本教程让您快速入门

739816 学习 · 9566 问题

查看课程

相似问题