This question already has answers here:
Javascript Code works in jsfiddle and but not in the Browser [closed]
                                
                                    (2个答案)
                                
                        
                                3年前关闭。
            
                    
尝试访问HTML中的元素时,我的代码当前返回null。奇怪的是,在JSFiddle中进行测试时,它工作得很好。这是jsfiddle链接的副本:http://jsfiddle.net/6f77q/115/

这是我在计算机上的两个单独文件中完成的操作:

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);

}


我对为什么阳极返回null感到非常困惑。有什么想法为什么可能在JSFiddle中而不是在本地工作时发生?

谢谢!

最佳答案

将代码包装在domready / onload事件中,您的代码尝试执行,但是页面上尚不包含元素,因此脚本无法执行您想要的操作,domready / onload事件使您可以在所有元素之后执行代码已正确添加到页面

10-05 21:03
查看更多