HTML/JavaScript的執行順序,因爲據我所知,是串行(如在所有的編程語言),這意味着瀏覽器中的HTML/JavaScript代碼逐行地讀取並解釋它。執行Wonderings DOM秩序
這就是爲什麼一些JavaScript程序員把標籤在身體的結束 - 以確保整個DOM被加載,他們現在可以訪問他們想要的任何元素。 這是他們是如何做到這一點 -
<html>
...
<body>
...
<script> //whatever code you want to put
</script>
</body>
我想測試這個,所以我寫了下面的代碼
<html>
<head>
</head>
<body>
<script>
var elm=document.getElementById("myp");
alert(elm.innerHTML);
</script>
<p id="myp"> well this is darned interesting </p>
</body>
</html>
正如你可以看到我已經把腳本定義p元素和前該腳本正試圖訪問它。我以爲我會得到一個錯誤,因爲p不應該被定義,但我得到了「這是很有趣的」(p的值)。 當我將腳本放在head元素中時,會發生同樣的事情。 (testest使用Chrome和Firefox)。
任何人都可以提供一些線索到這是怎麼回事?
我在螢火蟲控制檯/ Fx13上發生錯誤,正如我預期的那樣:http://jsfiddle.net/x8BmK/ – fcalderan
好的,但結果仍然是'這是非常有趣的'。我只是想知道現代瀏覽器對這個問題發生了什麼...... –
什麼結果?該警報完全不顯示,並且該文本已經是標記 – fcalderan