我有一個腳本在我的腦海如下:
<script type='text/javascript' src='http://code.jquery.com/jquery-2.1.1.min.js'></script>
<script>
function editdoc(){
document.getElementById("editme").innerHTML = "hello world";
}
$(document).ready(editdoc());
</script>
主體由單純的正確命名的div。
現在,當我將此傳遞給瀏覽器時,Chrome會給我提供Uncaught TypeError: Cannot set property 'innerHTML' of null
錯誤。
如果我將此腳本移入正文或者使用匿名函數,則不會發生此錯誤。我認爲這意味着在DOM準備好之前正在執行該功能。
This表示命名函數應該在由$(document).ready調用時與匿名函數一樣工作。這裏發生了什麼?
+1因爲我正要張貼了同樣的答案.. – Lal 2014-09-01 16:52:35
我不認爲這是一個很好的答案,因爲它不沒有幫助解釋行爲,它通過創建一個具有與匿名函數相同範圍的命名函數來解決問題,這可能不適合我的需要。 – romnempire 2014-09-01 16:58:00