我认为这很有趣。考虑以下代码,window.onload 和 body onload="" 调用相同的函数。然而,结果是不同的。在我看来,window.onload 的集合有问题。这是代码:
<html>
<script type="text/javascript">
window.onload = getSpanElements();
function getSpanElements(){
var collectionBoolean = document.getElementsByTagName("span")?true:false;
alert(
"collection exists? " + collectionBoolean + "; number of collection members: " + document.getElementsByTagName("span").length
);
}
</script>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>
</head>
<body onload="getSpanElements()">
<span> test </span>
</body>
如您所见,两者都报告集合存在,但是 window.onload 报告它没有成员。有任何想法吗?