把 var mychar = document.getElementById("con"); 這句話提出來了,為啥點擊事件無效了呢
<!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>
2016-04-26
同意一樓的 , ? 你要把把你的js 部分放到body的底部. ?
因為程序都是從上到下 從左到右加載的. ?像你現在這樣. 當程序加載到js 部分 ?
?var mychar = document.getElementById("con"); ?如這一句 ?
因為還沒加載到文本部分.
系統就會判定id為"con"的元素不存在, 這樣你的函數也就進行不下去了
2016-04-26
如果把var mychar = document.getElementById("con"); 提出來的話,JavaScript語言就識別不出來你要裝飾的是那個部分了
2016-04-26
代碼沒有錯,但是你要將js代碼放在body的最后或者是body的下面,或者,在js代碼外面套一個window.onload,等頁面加載完了,再加載js代碼。
你的代碼之所以沒有按你想的顯示,是因為JS已經先加載了,而后面body里面的內容還沒有加載完,就出錯了。