李朵拉
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>
同意一楼的 , 你要把把你的js 部分放到body的底部.
因为程序都是从上到下 从左到右加载的. 像你现在这样. 当程序加载到js 部分
var mychar = document.getElementById("con"); 如这一句
因为还没加载到文本部分.
系统就会判定id为"con"的元素不存在, 这样你的函数也就进行不下去了
如果把var mychar = document.getElementById("con"); 提出来的话,JavaScript语言就识别不出来你要装饰的是那个部分了
代码没有错,但是你要将js代码放在body的最后或者是body的下面,或者,在js代码外面套一个window.onload,等页面加载完了,再加载js代码。
你的代码之所以没有按你想的显示,是因为JS已经先加载了,而后面body里面的内容还没有加载完,就出错了。
JavaScript入门篇
739817 学习 · 9566 问题
相似问题