爲什麼全局變量在該函數中不被識別?全局和本地javascript範圍
<script type="text/javascript">
var id_f = document.getElementById('f');
function foo()
{
id_f.innerHTML=("text");
}
</script>
爲什麼全局變量在該函數中不被識別?全局和本地javascript範圍
<script type="text/javascript">
var id_f = document.getElementById('f');
function foo()
{
id_f.innerHTML=("text");
}
</script>
的.getElementById()
函數返回null
如果沒有匹配的元素被發現,這是不是一個錯誤,但如果你的id_f
變量是null
它不具有.innerHTML
財產,會給出錯誤。
即使頁面源代碼中存在匹配的元素,除非腳本運行該元素實際上已被解析,否則將不會找到它。因此,您的腳本需要位於源代碼元素之後的某個位置(例如,在關閉</body>
標記之前),或者您需要添加onload或document.ready類型處理程序並從此處運行代碼。
(如果添加console.log(id_f)
或alert(id_f)
你的函數開始您能得到什麼?)
謝謝。這正是問題所在。我剛開始使用JavaScript,所以我很欣賞沒有居高臨下的答案。 – T110 2012-02-06 02:04:55
你就錯了。它被認可。 – akonsu 2012-02-05 21:37:45
什麼不工作? – user1096188 2012-02-05 21:37:45
你的html代碼放在哪裏,你用什麼瀏覽器來測試? – skyburner 2012-02-05 21:38:55