Ciao a tutti, da ieri senza apperente motivazione, la funzione $$ di prototype non da il risultato sperato...

Ecco qua un po' di codice

Codice PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
    <
head>
        <
script src="prototype.js" type="text/javascript"></script>
        <script type="text/javascript">
            Event.observe(window,'load',function(){
                $$('.key').each(function(el){
                    alert(el.id);
                });
            });
        </script>
        <style type="text/css">
            body {margin:0;padding:0;width:800px;height:480px;font-family:arial;}
            .key {display:block; background:#f0f0f0;color:#450b00;font-size:32px;float:left;border:1px solid #fff;width:58px;height:46px;padding-top:12px;text-align:center;font-weight:bold;text-decoration:none;}
        </style>
    </head>
    <body>
        <div id="a" class="key"></div><div id="b" class="key"></div><div id="c" class="key"></div>
    </body>
</html> 
Ebbene, mi appaiono 3 alert, ma nessuno con l'id, ma un undefined.
Poi se sostituisco alert(el.id); con alert(el); el è un oggetto vuoto...

Qualcuno sa il motivo? Ho provato le ultime versioni di prototype dalla 1.5 alla 1.6, ma niente da fare...
Cosa ho dimenticato?