[英]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.