看板 Web_Design 關於我們 聯絡資訊
請問一下各位大大 <!DOCTYPE html> <html> <body> <p> line 1 </p> <p id="demo"></p> <p> line 2 </p> <script> var cars = ["BMW", "Volvo", "Saab", "Ford"]; var i = 0; var text = ""; while (cars[i]) { text += cars[i] + "<br>"; i++; } document.getElementById("demo").innerHTML = text; </script> </body> </html> line 1 BMW Volvo Saab Ford line 2 我知道 getElementById是抓取ID的屬性的物件 可是<p id="demo"></p>並非函數 也沒呼叫 為何會跳去先執行 document.getElementById("demo").innerHTML = text; 而非按照順序由上往下執行呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 163.25.119.4 ※ 文章網址: https://www.ptt.cc/bbs/Web_Design/M.1460387911.A.7A0.html
LPH66: 它是由上往下執行沒錯, javascript 的能力就是可以在東西 04/11 23:21
LPH66: 已經建立之後再去改變內容, 這裡是在 <p id="demo"></p> 04/11 23:21
LPH66: 已經存在在網頁上之後, 這一行 javascript 去改變它的 04/11 23:22
LPH66: innerHTML 來更改其內容 04/11 23:22
povertytrap: 我還是不太懂直譯式語言沒呼叫也非函數怎可以跳著跑 04/11 23:24
lostnorth: 可以補充一下你預期的結果嗎? 04/11 23:56
lostnorth: 看不懂你的問題在哪 04/11 23:56
povertytrap: 我預期結果是 line1 lin2 後面接BMW....... 04/12 00:02
povertytrap: 我問題是jacascript是直譯式語言除非有函數呼叫才會 04/12 00:03
povertytrap: 跳著執行..可是在這例子中沒函數呼叫.怎會優先跑下面 04/12 00:04
lostnorth: 可以想成 javascript 雖然嵌在 HTML 內,但他不是 HTML 04/12 00:12
lostnorth: 的一部分,在這個範例中 HTML 是排版,js 是改變內容 04/12 00:13
vi000246: 這段語法的意思是找到id=demo的節點 插入text的內容 04/12 00:26
vi000246: 所以看起來會是line1 text line2 04/12 00:26
agreerga: 你已經排版p demo p 了 改變內容當還是在中間 04/12 09:15
Peruheru: 你把<p id="demo"></p>放在中間,怎麼會預期他最後出現? 04/12 10:36
Peruheru: 甲乙丙三個人依序排排站,然後叫乙蹲下來,乙也不會跑到 04/12 10:38
Peruheru: 最後去吧? 04/12 10:38
Peruheru: 你沒有叫他往後跑他當然不會往後跑囉 04/12 10:39
povertytrap: 大致上了解謝謝各位 04/12 11:54