能否只设定一个变量

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

qq_秋叶_1

2015-08-17 20:52

<!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()  
		{  
		
        mychar.style.display="none";
		}  
		function showtext()  
		{  
		
        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>

为什么这样不行

两个函数都设定了mychar变量来存储函数,不能不简化成1个。我试着把变量写在了函数之前,结果函数失效,是不是意味着函数里使用的变量只能在内设定,不能取用函数外的变量?

写回答 关注

3回答

  • 伊兮尘昔
    2015-08-18 09:50:06
    已采纳

    因为html代码是顺序加载的,在执行 var mychar = document.getElementById("con");这行代码的时候,body中的内容还没加载,获取到的是null

    答答安

    那把 var mychar = document.getElementById("con") 写进函数里,代码的加载顺序是什么啊?

    2015-10-15 17:20:49

    共 3 条回复 >

  • ciloi
    2015-09-11 15:02:59

    貌似这样也不行,只有把js代码放到body的最后才可以……但是为什么window.onload也不行了哇???

  • ciloi
    2015-09-11 14:47:42

    前面加一个window.onload=function{}应该就可以了

JavaScript入门篇

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

739816 学习 · 9566 问题

查看课程

相似问题