把 var mychar = document.getElementById("con"); 这句话提出来了,为啥点击事件无效了呢

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

李朵拉

2016-04-26 16:30

<!DOCTYPE HTML>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

<title>display</title>

    <script type="text/javascript"> 

    var mychar = document.getElementById("con");        //因为看见这句话都一样,就提出来了,怎么就不对了

        function hidetext()  

{  

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

        mychar.style.display="none";

}  

function showtext()  

{  

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

        mychar.style.display="block";

}

    </script> 

</head> 

<body>  

    <h1>JavaScript</h1>  

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

    <form>

       <input type="button" onclick="hidetext()" value="隐藏内容" /> 

       <input type="button" onclick="showtext()" value="显示内容" /> 

    </form>

</body> 

</html>


写回答 关注

3回答

  • 慕娘9282524
    2016-04-26 17:36:07
    已采纳

    同意一楼的 ,   你要把把你的js 部分放到body的底部.  

    因为程序都是从上到下 从左到右加载的.  像你现在这样. 当程序加载到js 部分  

     var mychar = document.getElementById("con");  如这一句  

    因为还没加载到文本部分.

    系统就会判定id为"con"的元素不存在, 这样你的函数也就进行不下去了

    食肉兽0_0

    太棒了

    2017-04-20 00:04:48

    共 3 条回复 >

  • 墨染锦年物是人非
    2016-04-26 17:13:02

    如果把var mychar = document.getElementById("con"); 提出来的话,JavaScript语言就识别不出来你要装饰的是那个部分了

  • 流年一抹白
    2016-04-26 17:12:08

    代码没有错,但是你要将js代码放在body的最后或者是body的下面,或者,在js代码外面套一个window.onload,等页面加载完了,再加载js代码。

    你的代码之所以没有按你想的显示,是因为JS已经先加载了,而后面body里面的内容还没有加载完,就出错了。

JavaScript入门篇

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

739817 学习 · 9566 问题

查看课程

相似问题