这一块的代码这样写为什么不可以呢?

来源:3-5 显示和隐藏(display属性)

外婆叫我海椒虫

2014-12-13 22:51

<script type="text/javascript"> 

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

    function hidetext(){

         mychar.style.display="none";

         }

    function showtext(){

         mychar.style.display="block";

         }

</script> 


写回答 关注

2回答

  • _潇潇暮雨
    2014-12-14 13:13:55
    已采纳

    你把这段代码放在

    <p id="con">做为一个Web开发师来说,如果你想提供漂亮的网页、令用户满意的上网体验,JavaScript是必不可少的工具。</p>

    之后就行了,因为浏览器加载顺序的问题,解析到var mychar = document.getElementById("con");的时候还没有创建p标签呢。

  • Tracy_
    2014-12-14 13:36:37

    嗯,其实你的想法不错,但是浏览器加载html是自上而下的,如果照你这么写,  var mychar = document.getElementById("con");这句话会报错的,因为这个时候还没加载到con,所以会有问题,可以稍稍加以修改就可以

    window.onload = function(){
        var mychar = document.getElementById("con");
        function hidetext(){
             mychar.style.display="none";
             }
        function showtext(){
             mychar.style.display="block";
             }
        
    }

    加了window.load 就可以保证dom加载完成了。

    或者按照上面那位童鞋的写法,将js代码放在body最下面,这样顺序执行的时候也不会报错。

    莫小北没有故...

    Tracy老师,我按照你这样写了,肿么木有作用咧咧咧~~~

    2014-12-17 14:53:28

    共 1 条回复 >

JavaScript入门篇

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

739817 学习 · 9566 问题

查看课程

相似问题