2016-09-15 98 views
0

當試圖訪問HTML中的元素時,我的代碼當前返回null。奇怪的是,它在JSFiddle中測試時工作得很好。以下是jsfiddle鏈接的副本:http://jsfiddle.net/6f77q/115/getElementById在本地測試但在JSFiddle中工作時返回null

這是我在兩個單獨的文件已經做了我的電腦上:

的index.html

<script src="some.js"></script> 
<select id="theid" name = "navyOp" onchange="test(this);"> 
<option selected = "selected">Select a Navy Op Area</option> 
<option value = "AN01">AN01</option> 
<option value = "AN02">AN02</option> 
<option value = "AN03">AN03</option> 
</select> 

some.js

var earrings = document.getElementById('theid'); 
var anode=document.createElement("option"); 
anode.text="hello"; 
earrings.add(anode); 
window.test = function(e){ 
     alert(e.value); 

} 

我,爲什麼真糊塗陽極返回空。任何想法,爲什麼這可能發生在JSFiddle中但不在本地工作的地方?

謝謝!

+5

您在jsfiddle中編寫的腳本默認在'onload'回調中執行。但是,您將腳本放在包含'theid'的html代碼之前,以便在執行'document.getElementById('theid');'時,包含'theid'的html不被解析並且元素'theid'爲不在DOM中。 –

+0

@ t.niese - 你的評論是更具描述性的_than_答案:P – Rayon

+0

我有一種感覺是這個問題,所以我所做的就是複製

相關問題