<!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个。我试着把变量写在了函数之前,结果函数失效,是不是意味着函数里使用的变量只能在内设定,不能取用函数外的变量?
因为html代码是顺序加载的,在执行 var mychar = document.getElementById("con");这行代码的时候,body中的内容还没加载,获取到的是null
貌似这样也不行,只有把js代码放到body的最后才可以……但是为什么window.onload也不行了哇???
前面加一个window.onload=function{}应该就可以了