Возможно, вы захотите переместить ваше назначение window.onload ниже объявления getSpanElements:
<html>
<script type="text/javascript">
function getSpanElements(){
var collectionBoolean = document.getElementsByTagName("span")?true:false;
alert(
"collection exists? " + collectionBoolean + "; number of collection members: " + document.getElementsByTagName("span").length
);
}
window.onload = getSpanElements;
</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, getSpanElements () еще не определен. Также строка должна быть
window.onload=getSpanElements;
не
window.onload=getSpanElements();
Имя функции без скобок является ссылкой на функцию. С круглыми скобками он выполняет функцию, а возвращаемое значение присваивается window.onload.