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

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么把HTML DOM部分放在JS代碼下面就不執行了,放在上面可以執行,是什么原因?順序沒搞懂

<h3>操作成功</h3>
<div><strong?id="second">5</strong>秒后返回??</div>

<input?type="button"?value="返回"?onClick="test()">
<script>
var?sec=document.getElementById("second");
var?i=5;
var?timer=setInterval(function(){
i--;	
sec.innerHTML=i;	
if(i==1){
window.location.href="http://www.xianlaiwan.cn";		
}},1000);

function?test(){
history.forward();
}	

</script>


正在回答

2 回答

網頁加載是從上至下

1 回復 有任何疑惑可以回復我~

一樓正解,這是學習js必定會碰見的坑,網頁加載自上而下,遇見js就先將其編碼了,可是如果你操作了DOM,這是的頁面其實還沒有出現,js就獲取不到DOM節點,所以無效,這里一般js放在網頁最下面,還有兩種解決方案。

1、在js開頭加上

window.onload?=?function(){你的內容}

2、jQuery寫法

$(你的內容)//這個你得學習jQuery

3、在<script>標簽中加上

defer(這IE支持,太坑不建議使用;其實我記得有個別的現在一時想不起來【請人指點】)


1 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

為什么把HTML DOM部分放在JS代碼下面就不執行了,放在上面可以執行,是什么原因?順序沒搞懂

我要回答 關注問題
微信客服

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

幫助反饋 APP下載

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

公眾號

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