[英]javascript document.getElementById(“device”) doesn't work?
為什么alert(p1)
顯示為null
?
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="js/product.js"></script>
</head>
<body>
Device:<select id="device" name="device" style="width:250px;"> </select> Line:<select id="line" name="line" style="width:250px;"> </select>
</body>
</html>
window.onload = load();
function load() {
var p1 = document.getElementById("device");
var l1 = document.getElementById("line");
alert(p1);
alert(l1);
}
將代碼更改為此:
function load() {
var p1 = document.getElementById("device");
var l1 = document.getElementById("line");
alert(p1);
alert(l1);
}
window.onload = load;
對onload的分配需要是一個函數引用,而不是函數的執行(無括號)。
使用這樣的匿名函數會更簡單一些:
window.onload = function() {
var p1 = document.getElementById("device");
var l1 = document.getElementById("line");
alert(p1);
alert(l1);
}
您需要更改此行:
window.onload = load();
閱讀以下內容:
window.onload = load;
注意區別,第一個示例將調用 load()
函數,並將其返回值分配給window.onload
,該值當然是undefined
。
第二個示例將函數本身分配給所需的window.onload
,並將警告[object HTMLSelectElement]
(無論如何在Firefox中)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.