第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

Javascript的值為什么會(huì)變成Hello world出現(xiàn)在上面?

想問下是什么原因呢?

1/是因?yàn)槌绦蛟趫?zhí)行HTML文件時(shí)會(huì)提前預(yù)加載或者預(yù)編譯script文件所以javascript的值被改變了;

2/是因?yàn)槌绦蚴前磸纳系较马樞驁?zhí)行,然后執(zhí)行到document.write("P標(biāo)簽原始內(nèi)容:"+mycon.innerHTML);后將javascript的值改為Hello world.

想請(qǐng)教下這兩種哪種對(duì)的呢?還是有其他的解釋?謝謝

正在回答

5 回答

<!DOCTYPE?HTML>
<html>
<head>
<meta?http-equiv="Content-Type"?content="text/html;?charset=utf-8"?/>
<title>innerHTML</title>
<script?type="text/javascript">

//?瀏覽器解析你的代碼是從上到下,此時(shí),瀏覽器開始解析var?mychar=document.getElementById("con");
??var?mychar=document.getElementById("con");
??//很神奇的發(fā)現(xiàn)??mychar?這個(gè)變量是undined,為什么呢,因?yàn)榇藭r(shí)<body></body>里面的代碼瀏覽器還沒有開始看
??//?所以你通過id來找document.getElementById("con")是找不到的;,所以下面的mychar的變量都是無意義的
??//結(jié)果就是js代碼失效
??document.write("原標(biāo)題:"+mychar.innerHTML+"<br>");?//輸出原h(huán)2標(biāo)簽內(nèi)容
??mychar.innerHTML="Hello?world!";
??document.write("修改后的標(biāo)題:"+mychar.innerHTML);?//輸出修改后h2標(biāo)簽內(nèi)容
??
??//所以要么把script里面的內(nèi)容放在下面,一定要放在你要獲取id節(jié)點(diǎn)下面,比如你沒有用到p標(biāo)簽,其實(shí)放在p標(biāo)簽上面,和下面也行
??//2,通過window.onload=function(){?你的js代碼??},的方法,他的作用是當(dāng)頁(yè)面加載完之后開始調(diào)用
??
??
</script>
</head>
<body>
<h2?id="con">javascript</h2>
<p>?JavaScript是一種基于對(duì)象、事件驅(qū)動(dòng)的簡(jiǎn)單腳本語言,嵌入在HTML文檔中,由瀏覽器負(fù)責(zé)解釋和執(zhí)行,在網(wǎng)頁(yè)上產(chǎn)生動(dòng)態(tài)的顯示效果并實(shí)現(xiàn)與用戶交互功能。</p>
</body>
</html>


0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

suBJuly 提問者

OK 懂了。萬分感謝!以后不懂的還望指教一二。
2017-04-19 回復(fù) 有任何疑惑可以回復(fù)我~
#2

我不是管家 回復(fù) suBJuly 提問者

沒事,我也在鞏固一下自己的基礎(chǔ),準(zhǔn)備吧原生js從頭看一遍
2017-04-19 回復(fù) 有任何疑惑可以回復(fù)我~
<!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("原標(biāo)題:"+mychar.innerHTML+"<br>");?//輸出原h(huán)2標(biāo)簽內(nèi)容
??mychar.innerHTML="Hello?world!";
??document.write("修改后的標(biāo)題:"+mychar.innerHTML);?//輸出修改后h2標(biāo)簽內(nèi)容
</script>
</head>
<body>
<h2?id="con">javascript</h2>
<p>?JavaScript是一種基于對(duì)象、事件驅(qū)動(dòng)的簡(jiǎn)單腳本語言,嵌入在HTML文檔中,由瀏覽器負(fù)責(zé)解釋和執(zhí)行,在網(wǎng)頁(yè)上產(chǎn)生動(dòng)態(tài)的顯示效果并實(shí)現(xiàn)與用戶交互功能。</p>
</body>
</html>


0 回復(fù) 有任何疑惑可以回復(fù)我~

可能是這樣的,script的確在哪都能運(yùn)行,但是要看下你的代碼是否與body里面的內(nèi)容有關(guān)聯(lián),如果僅僅是document.write("P標(biāo)簽原始內(nèi)容:"),這樣是可行的,但是如果要獲取body里面的節(jié)點(diǎn)的話獲取不到,

最好貼下代碼













0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

suBJuly 提問者

好的,這種情況下在head中的script代碼為什么不會(huì)執(zhí)行?比如說里面的document為什么不能正確的顯示出來呢?求解
2017-04-19 回復(fù) 有任何疑惑可以回復(fù)我~
#2

suBJuly 提問者

代碼回復(fù)中不能超過300字,我給放在下面的回答里面了,你看看。
2017-04-19 回復(fù) 有任何疑惑可以回復(fù)我~

實(shí)際操作可以發(fā)現(xiàn),當(dāng)你把script的內(nèi)容放在body上面的時(shí)候,頁(yè)面報(bào)錯(cuò),因?yàn)槟銦o法獲取id,這是因?yàn)闉g覽器解析這個(gè)頁(yè)面是從上到下,當(dāng)他執(zhí)行JavaScript的代碼是,dom并沒有開始加載;

當(dāng)script放在body下面時(shí),由于從上至下,dom已經(jīng)解析完成,這時(shí)候可以獲取屬性節(jié)點(diǎn)id,就可以使用innerHtml的方法更改元素節(jié)點(diǎn)的內(nèi)容

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

suBJuly 提問者

你確定?你可以試試把script里面的內(nèi)容放在body上面head中時(shí)的情況。一樣會(huì)顯示出來。
2017-04-18 回復(fù) 有任何疑惑可以回復(fù)我~
#2

我不是管家 回復(fù) suBJuly 提問者

你把代碼貼一下,我操作是不行的,除非家window.onload=function(){}
2017-04-18 回復(fù) 有任何疑惑可以回復(fù)我~

第二種

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

Javascript的值為什么會(huì)變成Hello world出現(xiàn)在上面?

我要回答 關(guān)注問題
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)