为了账号安全,请及时绑定邮箱和手机立即绑定

能否只设定一个变量

<!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 回答

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

2 回复 有任何疑惑可以回复我~
#1

qq_秋叶_1 提问者

非常感谢!
2015-08-18 回复 有任何疑惑可以回复我~
#2

慕盖茨1736274

不懂???具体一点吗??
2015-09-25 回复 有任何疑惑可以回复我~
#3

答答安

那把 var mychar = document.getElementById("con") 写进函数里,代码的加载顺序是什么啊?
2015-10-15 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

能否只设定一个变量

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信