亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么這段代碼中的JS代碼段放在<head>中只有取消設置按鈕有作用呢?放在<body>中正常

為什么這段代碼中的JS代碼段放在<head>中只有取消設置按鈕有作用呢?放在<body>中正常

qq_季末先聲_03133538 2016-04-11 14:11:30
?<!doctupe html><html><head>?<meta charset="utf-8" />??? <title>Dom練習</title>??? <style type="text/css">??? ?body{font-size:12px;}??#txt{???height:400px;???width:600px;???border:#333 solid 1px;???padding:5px;??}??p{???line-height:18px;???text-indent:2em;??}??? </style>??? <script type="text/javascript">??var mychar=document.getElementById("txt");??? ?function changeC(){???mychar.style.color="red";???mychar.style.backgroundColor="gray";???}??function changeW(){???mychar.style.width="800px";???mychar.style.height="600px";???}??function hiddenC(){???mychar.style.display="none"???}??function displayC(){???mychar.style.display="block";???}??function cancelS(){???var res=confirm("取消設置?")???if(res){ ????? mychar.style.color="#000";????? mychar.style.backgroundColor="#fff";????? mychar.style.width="600px";????? mychar.style.height="400px";????? mychar.style.display="block";????}???}??? </script></head><body>?<h2 id="con">JavaScript課程</h2>??? <div id="txt">??? ?<h5>JavaScript為網頁添加動態效果并實現與用戶交互的功能</h5>??????? <p>1.JavaScript入門篇,讓不懂JS的你快速了解JS</p>??????? <p>2.JavaScript進階篇,讓你掌握JS的基礎語法、函數、數組、事件、內置對象、BOM瀏覽器、DOM操作。</p>??????? <p>3.學習以上兩門基礎課后,在深入學習JavaScript的變量作用域、事件、對象、運動、cookie、正則表達式、ajax等課程。</p>??? </div>??? <!--<script type="text/javascript">??var mychar=document.getElementById("txt");??? ?function changeC(){???mychar.style.color="red";???mychar.style.backgroundColor="gray";???}??function changeW(){???mychar.style.width="800px";???mychar.style.height="600px";???}??function hiddenC(){???mychar.style.display="none"???}??function displayC(){???mychar.style.display="block";???}??function cancelS(){???var res=confirm("取消設置?")???if(res){ ????? mychar.style.color="#000";????? mychar.style.backgroundColor="#fff";????? mychar.style.width="600px";????? mychar.style.height="400px";????? mychar.style.display="block";????}???}??? </script>-->??? <form>??????? <input type="button" value="改變顏色" onClick="changeC()" />??????? <input type="button" value="改變寬高" onClick="changeW()" />??????? <input type="button" value="隱藏內容" onClick="hiddenC()" />??????? <input type="button" value="顯示內容" onClick="displayC()" />??????? <input type="button" value="取消設置" onClick="cancelS()" />??? </form></body></html>
查看完整描述

2 回答

已采納
?
李曉健

TA貢獻1036條經驗 獲得超461個贊

因為?var mychar=document.getElementById("txt"); ? 當執行到這行代碼時,頁面的body部分還沒有生成,也就是說頁面還沒有<div id="txt"> ?這個div,mychar就是undefined,所以代碼就會報錯。

當你把script代碼放到 div后面的時候 ,就會先生成這個div,后執行script代碼,這時var mychar=document.getElementById("txt"); ? 就能夠正確獲取到這個div,后面的代碼就都運行正常。

查看完整回答
反對 回復 2016-04-11
?
野貓1

TA貢獻15條經驗 獲得超8個贊

樓上回答正確,瀏覽器進行解析html文件時,是從上至下的順序。

查看完整回答
反對 回復 2016-04-11
  • 2 回答
  • 0 關注
  • 1641 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號