La fonction de liaison de plusieurs éléments avec Jquery

J'ai ce petit problème avec jquery: j'ai besoin de faire quelque chose comme ceci:

$(document).ready(function(){
    links = {};
    links.a = "Link a";
    links.b = "Link b";
    links.c = "Link c";

    for (x in links){
        $("#" + x).css("border","1px solid #000");
        $("#" + x).click(function(){
            alert(x);
        });
    }
});
</script>
<div id="a">a</div><br />
<div id="b">b</div><br />
<div id="c">c</div><br />

De sorte que lorsque vous cliquez sur la div#a, vous obtiendrez "Lien" alerte, "Link b" sur le div#b et ainsi de suite...
Le problème est que si vous exécutez ce code, en cliquant sur chaque élément de donner l'alerte("Lien c"), comme le résultat, il semble que seule la dernière fonction de la variation est attribuée à chaque div...

Bien sûr, je peux le pirater en modifiant la fonction pour travailler avec les div id et à l'aide de $(this), mais pour cursiosity: est-il un moyen de faire de ce cycle de travail? Par la création et l'affectation d'une nouvelle fonction à chaque élément en fonction?

Thx d'avance...

Juste pour info, c'est un peu plus lisible si vous avez de la chaîne de votre jQuery au lieu de réactiver le sélecteur. Exemple: $('#'+x).css('border', '1px solid #000').click(fn);

OriginalL'auteur Alekc | 2009-05-15