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

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

感覺你們都懂了只有我不懂??!幫幫忙吧!

<!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>?JavaScript是一種基于對象、事件驅動的簡單腳本語言,嵌入在HTML文檔中,由瀏覽器負責解釋和執行,在網頁上產生動態的顯示效果并實現與用戶交互功能。</p>
<script?type="text/javascript">
??var?mychar=document.getElementById("con")???????????;
??document.write("原標題:"+mychar.innerHTML+"<br>");?//輸出原h2標簽內容
??mychar.innerHTML="Hello?world"
??document.write("修改后的標題:"+mychar.innerHTML);?//輸出修改后h2標簽內容
</script>
</body>
</html>

不是說按順序執行嗎?所以結果按道理應該是:

1.javascript

2.原標題:javascript
3.修改后的標題:Hello world

這樣才對啊,就算是mychar.write="Hello word" 替換,那也是發生在第三步啊,

為什么Hello world會顯示在最上面?

正在回答

6 回答

<!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> JavaScript是一種基于對象、事件驅動的簡單腳本語言,嵌入在HTML文檔中,由瀏覽器負責解釋和執行,在網頁上產生動態的顯示效果并實現與用戶交互功能。</p>
<script type="text/javascript">

? function fu(){

????? var mychar=document.getElementById("con");

????? document.write("原標題:"+mychar.innerHTML+"<br>"); //輸出原h2標簽內容

????? mychar.innerHTML="Hello world!";

????? document.write("修改后的標題:"+mychar.innerHTML); //輸出修改后h2標簽內容

? }

? var panduan=confirm("確定修改h2標題嗎?");

? if(panduan){

??? fu();

? }

? </script>
</body>
</html>

試試,會看明白的

0 回復 有任何疑惑可以回復我~
//看注釋吧!
<!DOCTYPE?HTML>
<html>
<head>
<meta?charset=utf-8"?/>
<title>innerHTML</title>
</head>
<body>
<h2?id="con">javascript</H2>
<script?type="text/javascript">
??var?mychar=?document.getElementById("con")??????????;//1.mychar="javascript"
??document.write("原標題:"+mychar.innerHTML+"<br>");?//2.輸出原標題:javascript
??mychar.innerHTML="Hello?World!";//3.替換<h2>"javascript"為"Hello?World!"
??document.write("修改后的標題:"+mychar.innerHTML);?//4.輸出修改后的標題:"Hello?World!"?然后再加載<head>
</script>
</body>
</html>


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

原因分析:其實并不是先執行<script>中的內容,可以驗證:【如果先執行<script>中的內容】 1)將<script>...</script>整塊剪切到<head>中去,就沒有顯示效果。2)將<p>..</p>內容剪切到</script>標簽后,同理。因為先執行的話并不知道<p>標簽的id,所以不會顯示。

結論:是執行到給mychar重新賦值時改變的。

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

qq_水無聲_03882251 提問者

你說的這句話很有道理“因為先執行的話并不知道<p>標簽的id,所以不會顯示。”
2016-09-23 回復 有任何疑惑可以回復我~

innerHTML在JS是雙向功能:獲取對象的內容 ?或 ?向對象插入內容; 第一個是獲取,獲取

<h2 id="con">javascript</h2>,

<script type="text/javascript">

? var mychar=document.getElementById('con') ?

document.write("原標題:"+mychar.innerHTML+"<br>");

第二個是插入內容插入

mychar.innerHTML='Hello world!'

? document.write("修改后的標題:"+mychar.innerHTML);


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

innerHTML 屬性用于獲取或替換 HTML 元素的內容,在你執行?mychar.innerHTML="Hello?world"時?!?lt;h2?id="con">javascript</H2>”中的內容已經替換為Hello?world

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

qq_水無聲_03882251 提問者

我的意思是JavaScript 在innerHTML之前出現,也就是說程序按順序執行,innerHTML還未出現時,JavaScript已經被程序讀出來了才對,而innerHTML出現在第三步,于是第三步之后的程序才會被改變,不是嗎?
2016-09-11 回復 有任何疑惑可以回復我~
#2

桃太郎 回復 qq_水無聲_03882251 提問者

你可以找個軟件單步執行試試
2016-09-11 回復 有任何疑惑可以回復我~

因為innerHTML是賦值,修改替換

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

qq_水無聲_03882251 提問者

我的意思是JavaScript 在innerHTML之前出現,也就是說程序按順序執行,innerHTML還未出現時,JavaScript已經被程序讀出來了才對,而innerHTML出現在第三步,于是第三步之后的程序才會被改變,不是嗎?
2016-09-11 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

感覺你們都懂了只有我不懂??!幫幫忙吧!

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

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

幫助反饋 APP下載

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

公眾號

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