qq_禁滅生_03414590
2017-01-11 10:31:10
為什么這么寫Javascript沒效果<!DOCTYPE HTML><html><head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"> <title>innerHTML</title> <script type="text/javascript"> var mychar=document.getElementById("con"); document.write("原標題:"+mychar.innerHTML+"<br>"); mychar.innerHTML="Hello world"; document.write("修改后的標題:"+mychar.innerHTML); </script></head><body> <h2 id="con">javascript</h2> <p>哈撒艱苦大會是單卡寄售點卡接撒活動會計師大會開始覺得很</p></body></html>
4 回答
已采納
心有猛虎_細嗅薔薇
TA貢獻119條經驗 獲得超250個贊
效果圖:
把<script type="text/javascript">
包含在<body>里面
<!DOCTYPE?HTML>
<html>
<head>
????<meta?http-equiv="Content-Type"?content="text/html;charset=utf-8">
????<title>innerHTML</title>
</head>
<body>
<h2?id="con">javascript</h2>
<p>哈撒艱苦大會是單卡寄售點卡接撒活動會計師大會開始覺得很</p>
<script?type="text/javascript">
????var?mychar=document.getElementById("con");
????document.write("原標題:"+mychar.innerHTML+"<br>");
????mychar.innerHTML="Hello?world";????????????????????//修改P元素內容
????document.write("修改后的標題:"+mychar.innerHTML);
</script>
</body>
</html>問題分析的關鍵點:<script>標簽放在那里最合適:
javascript是順序執行的,放在head里,如果javascript代碼使用了body里的元素,如
document.getElementById("con");因為body還沒載入,所以訪問不到,就會出錯,沒有效果。
建議:最好把<script>標簽放在HTML文檔的最后,這樣能使瀏覽器更快地加載頁面。
peterJS
TA貢獻6條經驗 獲得超1個贊
兩個關鍵點,第一個瀏覽器執行代碼的順序,是從上到下依次執行的,所以你把script標簽放在head標簽里面是獲取不到元素的,第二個就是通過一些標簽屬性or事件來控制js代碼的執行,如原生中的onload,jq中的ready等,多寫幾次就明白了,加油吧!
添加回答
舉報
0/150
提交
取消
