これは、jQuery を自分で作成する最初の試みです。名前のインスタンスにカーソルを合わせると、その名前の他のすべてのインスタンスと同様に背景が白に変わるようにしようとしています。すべての名前には、そのすべてのインスタンスに共通の一意のデータ ID があります。
person = this.data("id");
ホバーした要素のデータ属性を割り当て、そのデータ属性を持つすべての要素の背景を変更しようとすると、jQueryがエラーになると思います。私が近くにいるかどうかもわかりません。
エラーは次のとおりです。
Uncaught TypeError: Object #<HTMLDivElement> has no method 'data' localhost:60
(anonymous function) localhost:60
jQuery.event.special.(anonymous function).handle jquery.js:3353
jQuery.event.dispatch jquery.js:3062
elemData.handle.eventHandle
<div id="center">
<% @instances.each do |instance| %>
<div class="instance" data-id="<%= instance.person.id %>" style="top:<%=top_helper(instance)%>px; left:<%= left_helper(instance) %>px; width:<%= width_helper(instance) %>px;">
<span><%= instance.person.first_name %>, <%= instance.rank %></span>
</div>
<% end %>
</div>
<script>
$("div#center").ready(function(){
var person
$("div.instance").hover(function(){
person = this.data("id");
$data(person).css("background-color","white");
});
});
</script>