Я использую Ruby / Rails для динамического создания div и кнопки через цикл, и я хотел бы знать, как вы называете элемент, чтобы jquery знал, какой селектор применить эффект.
У меня есть несколько простых ruby / html, которые создают несколько панелей с фотографиями и кнопку, которая запускает некоторый ajax в фоновом режиме, а затем меняет цвет панели с помощью эффекта анимации jQuery (я убрал удаленные вызовы в ссылка для краткости)
<% for photo in @photos %>
<div id="panel" style="background-color: #FFF;">
.....Text......
<%= link_to "Select", select_photo_path(photo), :class => "button" %>
</div>
<br />
<% end %>
и jQuery выглядит как
<script>
$(document).ready(function(){
$(".button").click(function () {
$("#panel").animate({ backgroundColor: "#006600" }, 500);
});
});
</script>
Таким образом, проблема заключается в том, что каждый раз, когда я нажимаю на кнопки, все панели меняют цвет, а не конкретную панель, на которую ссылаются в цикле for. Я предполагаю, что это потому, что все панели имеют одинаковый идентификатор.
Так как мне установить (class / id) кнопок и панелей так, чтобы эффекты событий button1 .click панели1 и кнопки2 работали только на панели2, и т. Д., И т. Д.
Я довольно новичок в javascript прямо сейчас.