我来自德国,所以请耐心等待我的英语:D
我在jQuery中处理悬停功能,以更改页面上某些div的背景颜色。 当我将鼠标悬停在它上面时,问题不在于每个div都会起作用。
$(document).ready(function(){
$('#book').hover(function(){
$(this).css('background', '#dfdfdf');
}, function(){
$(this).css('background', '#eee');
});
});
我页面上的第一个div绝对没问题。但当我将鼠标悬停在它上面时,秒div不会做任何事情。出了什么问题:D
谢谢!
答案 0 :(得分:4)
那是因为你复制了你的div的ID。根据定义,ID应该是唯一的。尝试为每个div分配一个“book”类并绑定hover
,如下所示:
$('.book').hover(function(){...
请参阅规范:http://www.w3.org/TR/html4/struct/global.html#h-7.5.2
相关摘录:
id = 名称 [CS]
此属性为其指定名称 元件。此名称在a中必须是唯一的 文档。
答案 1 :(得分:3)
您正在使用#book
分配悬停。
但是id应该是唯一的,jQuery会考虑这一点,因此它只将事件处理程序应用于带有id book的第一个元素。
改用类。
答案 2 :(得分:0)
您需要引用具有不同ID(在页面上应该是唯一的)或类别的多个DIV。所以将您的<DIV id='book'
更改为<DIV class='book'
和$('#book')
更改为$('.book')