问答详情
源自:3-4 改变 HTML 样式

Js代码的位置问题

请问这段代码为什么放在里面就有效果,放在里面就没一点反应?

<script type="text/javascript">
var mychar=document.getElementById("con");
mychar.style.color="red";
</script>

提问者:悠扬36001 2016-03-15 18:58

个回答

  • qq_冲哥_0
    2016-03-20 18:30:09
    已采纳

    HTML代码从上往下解析,你放在head里面,就先解析var mychar=document.getElementById("con"),但这时并没有id=con对应的元素,因为id=con的元素在var mychar=document.getElementById("con")这句话的后面,所以就没效果,这是要用window.onload,它表示当所有元素都加载完之后执行, 放在head里面没有问题。

    window.onload=function(){

    var mychar=document.getElementById("con");

    mychar.style.color="red";

    }

  • 慕数据7935617
    2016-03-18 09:51:15

    HTML读取的时候是从上往下解析,如果把你那段代码放在head里面的话,解析的时候无法获取id=con对应的元素,在控制台里他的效果是null,所以就没效果

  • 悠扬36001
    2016-03-15 18:59:28

    放在body有用,放在head里面就没效果