7 回答

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

TA貢獻(xiàn)202條經(jīng)驗(yàn) 獲得超301個(gè)贊

TA貢獻(xiàn)2條經(jīng)驗(yàn) 獲得超2個(gè)贊
找代碼錯(cuò)也有方法 ?要善于用瀏覽器的審查元素 ? 打開瀏覽器 按快捷鍵f12 ? 里面的console菜單欄里面會(huì)有報(bào)錯(cuò)信息。。。
也可以用編輯器里的插件提示你代碼是否有 ? 比如webstorm 。個(gè)人感覺最好用瀏覽器的審查元素
傳送門:http://idcbgp.cn/learn/137?慕課網(wǎng)的課程 你可以看看?

TA貢獻(xiàn)11條經(jīng)驗(yàn) 獲得超4個(gè)贊
你要了解加載機(jī)制是從上到下的,,你這個(gè)首先加載的js代碼 然后才是html代碼,,當(dāng)加載js代碼的時(shí)候,html代碼還沒出現(xiàn),根本就沒綁定成功,所以沒有效果 ;

TA貢獻(xiàn)202條經(jīng)驗(yàn) 獲得超301個(gè)贊
想想頁面的加載順序,通常css放頭部,js放尾部,養(yǎng)成良好的習(xí)慣;
建議把onclick事件寫在input中,別人一看html就知道你這個(gè)點(diǎn)擊事件的函數(shù)。

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

TA貢獻(xiàn)3593條經(jīng)驗(yàn) 獲得超1個(gè)贊
添加回答
舉報(bào)