2016-01-04 118 views
1

這似乎應該是非常基本的,我不明白爲什麼它不工作。我有一個超級簡單的頁面,到目前爲止,我想用JS選擇段落:爲什麼「getElementsByTagName」找不到任何東西?

這裏是我的HTML:

<!DOCTYPE html> 
<html> 
    <head> 
    <script src="misc.js" type="text/javascript"></script> 
    </head> 
    <body> 
    <p id="first">Just one paragraph.</p> 
    <p id="second">Two, actually.</p> 
    </body> 
</html> 

而我的JS:

var paras = document.getElementsByTagName('p'); 
console.log(paras.length); 

我希望控制檯日誌顯示2但我看到0。我仔細閱讀the documentation,我無法弄清楚我在這裏做錯了什麼。

+0

似乎在這個小提琴中工作正常https://jsfiddle.net/0xjhznta/2/ –

回答

5

當您運行腳本時,文檔中沒有段落。

要麼移動腳本元素,使其出現在段落後面,要麼將代碼放入函數中,然後稍後調用該函數(例如,當啓動loadevent時)。

+0

瀏覽器解析您的html頁面,並在html body開始解析之前找到您的腳本。爲了避免這種情況,您可以將腳本標記放在標記''的底部,或者在加載DOM後執行JavaScript代碼。 'document.addEventListener('DOMContentLoaded',function(){ //代碼 })' –

+0

我覺得自己像一個塗料,但...呃。謝謝。 – Amanda

相關問題