Duvida sobre o ajax, onreadystatechage

Boa noite
Não estou conseguindo manipular os dados que chegao apartir da requisição XMLHttpRequest():

por exemplo aqui tenho um codigo que busca dados da pagina teste2.php apartir da pagina teste1.php

e aqui a pagina teste2.php

<?php

echo '<a href="?a" id="a"> A  <BR/></a>';
echo '<a href="?b" id="b"> B  <BR /></a>';
echo '<a href="?c" id="c"> C </a>';
?>

E…

Aqui a pagina teste1.php

<?php ?>

<html>
    <head>
        <title> </title>
    </head>
    <body>
        <div id="y"> </div>
        <div id="x"> </div>
    </body>
</html>


<script>
var request = function() {
                req = new XMLHttpRequest();
                req.open("GET", "teste2.php", true);
                req.onreadystatechange = function()
                {
                    if (req.readyState == 4 && req.status == 200) {
                        document.getElementById("y").innerHTML = req.responseText;
                        //guarda na variavel a os links da outra pagina!
                        var a = document.getElementsByTagName('a');
                        //iniciar a variavel x
                        var x = 0;
                        //loop para imprimir os hrefs
                        while (a.length > x) {
                            alert(a[x]);
                            x++;
                        }
                     //aqui ele encontrou os links!
                    }
                }
                req.send(null);
            }
            request();

//aqui guardo na variavel a os links que estao nessa pagina
    var a = document.getElementsByTagName('a');
    var x = 0;
    while (a.length > x) {
        alert('a[x]');
        x++;
    }
//ele não achou nada!!?
</script>

perceba que nesta parte aqui ele encontra os links!!!

req.onreadystatechange = function()
                {
                    if (req.readyState == 4 && req.status == 200) {
                        document.getElementById("y").innerHTML = req.responseText;
                        //guarda na variavel a os links da outra pagina!
                        var a = document.getElementsByTagName('a');
                        //iniciar a variavel x
                        var x = 0;
                        //loop para imprimir os hrefs
                        while (a.length > x) {
                            alert(a[x]);
                            x++;
                        }
                     //aqui ele encontrou os links!
                    }
                }

ja aqui ele nao encontra os links da outra pagina

          request();

//aqui guardo na variavel a os links que estao nessa pagina
    var a = document.getElementsByTagName('a');
    var x = 0;
    while (a.length > x) {
        alert('a[x]');
        x++;
    }
//ele não achou nada!!?
</script>

o mais engraçado é que ele exibe o conteudo da outra pagina(teste2.php) quando abro o navegador!!!? mas não consigo manipulalos dentro da pagina (teste1.php) =(

Alguem da uma luz?