У меня есть эта небольшая проблема с JQuery: Мне нужно сделать что-то вроде этого:Binding функция для нескольких элементов с 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 />
Так что, когда вы нажмете на DIV # а вы получите «Ссылка на» предупреждение , «Ссылка b» на div # b и т. Д. Проблема в том, что если вы запустите этот код, нажатие на каждый элемент даст предупреждение («Ссылка c») в результате, кажется, что только последнее изменение функции присваивается каждому div ...
Конечно, я могу взломать его, отредактировав функцию для работы с id div и используя $ (this), но для усердия: есть ли способ заставить этот цикл работать? Создавая и назначая новую функцию каждому элементу в функции?
Thx заранее ...
Просто FYI, это немного аккуратнее, если вы приковать ваш Jquery вместо повторного выбора селектора. * Пример: * '$ ('#' + x) .css ('border', '1px solid # 000'). Click (fn);' –