var mychar=document.getElementById("con");
function showtext() { mychar.style.display="block"; }
function hidetext() { mychar.style.display="none"; }
这样为什么会报mychar是null呢?mychar不是全局变量吗?这段代码是单独写在js文件里的,<script></script>是放在<head></head>中的。
你是把js写到了attempt.js了吗?如果是的话,看一下你的路径对吗
注释掉的都可以,就是我提问的这种不行。我用360安全浏览器8.1和火狐都不行
/*function showtext() {
document.getElementById("con").style.display="block";
}
function hidetext() {
document.getElementById("con").style.display="none";
}*/
var mychar = document.getElementById("con");
function hidetext()
{
mychar.style.display="none";
}
function showtext()
{
mychar.style.display="block";
}
/*function hidetext()
{
var mychar = document.getElementById("con");
mychar.style.display="none";
}
function showtext()
{
var mychar = document.getElementById("con");
mychar.style.display="block";
}
*/
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>attempt</title> <link rel="stylesheet" type="text/css" href="style.css"> <script type="text/javascript" src="attempt.js"></script> </head> <body> <h3>Hello</h3> <p id="con">I love javascript</p> <form> <input type="button" onclick="hidetext()" value="隐藏内容" /> <input type="button" onclick="showtext()" value="显示内容" /> </form> </body> </html>
是全局变量,可能是你获取的元素写错了吧
这么写是全局变量没有错,你的节点是不是获取的有问题,检查一下