Ich habe dieses kleine Problem mit Jquery: Ich so etwas zu tun:Binding-Funktion, um mehrere Elemente mit JQuery
$(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 />
So dass, wenn Sie auf div # a klicken Sie erhalten „verknüpfen“ alert , "Link b" auf div # b und so weiter ... Das Problem ist, dass, wenn Sie diesen Code ausführen, klicken Sie auf jedes Element wird Warnung ("Link c") als Ergebnis, scheint es, dass nur die letzte Funktionsvariante Jedem Div ...
Natürlich kann ich es hacken, indem ich die Funktion editiere, um mit divs ID zu arbeiten und $ (this) zu verwenden, aber für cursiosity: gibt es eine Möglichkeit, diesen Zyklus zum Laufen zu bringen? Durch Erstellen und Zuweisen einer neuen Funktion zu jedem Element in Funktion?
Thx im Voraus ...
Gerade FYI mit nicht verarbeiten, es ist ein bisschen übersichtlicher, wenn Sie Ihre jQuery-Kette anstelle der Wähler von Neuwahl. * Beispiel: * '$ ('#' + x) .css ('border', '1px solid # 000') klicken (fn);' –