7 回答

TA貢獻5條經驗 獲得超5個贊
我來回答一下吧,這個問題有2個解決方法,
可以把script標簽放在body的上面,但是在寫代碼前,要寫成下面這種
window,onload=function(){
? ? ? ?//這里寫你要寫的代碼
}
也可以把script標簽放在最后,就是</body>的前面,這樣寫的話,就不需要加方法1的語句了,當然加了也是可以的
最后,告訴你原理:
html是文檔流,網頁加載的時候,是從上到下依次讀取的,所以,你的寫法的話,會首先讀取btn,獲取btn的id,但是,我們還沒有加載到body部分,所以id這時候是讀取不到的。為了避免這種情況,可以把js放到body內容的最后,這時候讀取btn,前面已經加載了?;蛘呤窃趯懘a前,window.onload,告訴瀏覽器等頁面全部加載完畢,在觸發事件,執行你的函數。

TA貢獻2條經驗 獲得超2個贊
找代碼錯也有方法 ?要善于用瀏覽器的審查元素 ? 打開瀏覽器 按快捷鍵f12 ? 里面的console菜單欄里面會有報錯信息。。。
也可以用編輯器里的插件提示你代碼是否有 ? 比如webstorm 。個人感覺最好用瀏覽器的審查元素
傳送門:http://www.xianlaiwan.cn/learn/137?慕課網的課程 你可以看看?

TA貢獻11條經驗 獲得超4個贊
你要了解加載機制是從上到下的,,你這個首先加載的js代碼 然后才是html代碼,,當加載js代碼的時候,html代碼還沒出現,根本就沒綁定成功,所以沒有效果 ;

TA貢獻202條經驗 獲得超301個贊
想想頁面的加載順序,通常css放頭部,js放尾部,養成良好的習慣;
建議把onclick事件寫在input中,別人一看html就知道你這個點擊事件的函數。

TA貢獻446條經驗 獲得超754個贊
把<script>放在</body>前面就行了。就是要放在<div id="btn1">之后,才能用document.getElementById('btn1')

TA貢獻3593條經驗 獲得超0個贊
添加回答
舉報