mam ten mały problem z jQuery: muszę zrobić coś takiego:Wiążąca funkcja do wielu elementów z 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 />
tak, że po kliknięciu na div # A dostaniesz „powiązać” alert , "Link b" na div # b i tak dalej ... Problem polega na tym, że jeśli uruchomisz ten kod, kliknięcie na każdy element da alert ("Link c") jako wynik, wydaje się, że tylko ostatnia zmiana funkcji jest przypisany do każdego elementu div ...
Oczywiście mogę go zhackować, edytując funkcję do pracy z identyfikatorem div i używając $ (this), ale dla cursiosity: czy jest jakiś sposób, aby ten cykl zadziałał? Tworząc i przypisując nową funkcję do każdego elementu w funkcji?
Thx wcześniej ...
Wystarczy FYI, to nieco schludniej jeśli łańcuch swój jQuery zamiast ponownego wybierania selektora. * Przykład: * '$ ('#' + x) .css ('border', '1px solid # 000'). Click (fn);' –