我有這個例子文件:JavaScript的onload和DOM
<html>
<body>
<script type="text/javascript">
document.body.onload = myFunc();
function myFunc() {
element = document.getElementById('myDiv');
element.innerHTML = 'Hello!';
}
</script>
<div id="myDiv"></div>
</body>
</html>
爲什麼 '元素' 爲空,如果myFunc
是document.body.onload
回調?
相反,如果腳本是div之後插入,它的工作原理:
<html>
<body>
<div id="myDiv"></div>
<script type="text/javascript">
document.body.onload = myFunc();
function myFunc() {
element = document.getElementById('myDiv');
element.innerHTML = 'Hello!';
}
</script>
</body>
</html>
我的問題是:如果我使用的處理函數中的onload
事件,我應該有整個DOM,或不?爲什麼我不應該?
儘管ThiefMaster指出了代碼中的錯誤,這可能對您有所幫助 - 在DOMContentLoaded之前訪問'document.body'可能會給您帶來錯誤。所以,請注意這一點:)即使jquery檢查是否存在「document」對象,以確認dom已準備好供腳本訪問。 'var body = document || document.body || document.getElementsByTagName('body')[0]'可能會有幫助,如果你將來做好事的話) – Tamil 2012-04-26 17:02:19