jQuery 悬停功能不适用于所有 div

标签 jquery html hover

我来自德国,所以对我的英语要有耐心 :D

我负责 jQuery 中的悬停功能,以更改我页面上某些 div 的背景颜色。 问题是当我将鼠标悬停在它上面时,并不是每个 div 都会起作用。

 $(document).ready(function(){
  $('#book').hover(function(){
   $(this).css('background', '#dfdfdf');
  }, function(){
   $(this).css('background', '#eee');
  });
 });

我页面上的第一个 div 绝对没问题。但是当我将鼠标悬停在它上面时,秒 div 什么都不做。怎么了:D

谢谢!

最佳答案

那是因为您复制了 div 的 ID。根据定义,ID 应该是唯一的。尝试为每个 div 分配一个“书”类并像这样绑定(bind) hover:

$('.book').hover(function(){...

查看规范:http://www.w3.org/TR/html4/struct/global.html#h-7.5.2

相关摘录:

id = name [CS]

This attribute assigns a name to an element. This name must be unique in a document.

关于jQuery 悬停功能不适用于所有 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4251121/

相关文章:

javascript - 显示:none is preventing click event in jQuery

javascript - 如果所有图像都具有相同的宽度,请执行某些操作

javascript - 使用 javascript <button>NEXT</button> 将 html 元素完全更改为另一个 &lt;input type ="submit">

javascript - 导航栏菜单位置和悬停

html - 悬停一个 div,影响另一个 (CSS)

javascript - CSS - 使用悬停以不同方式影响多个元素

单击时jquery位置更改

javascript - 为什么我的 JavaScript 链接在从 HTML 调用时不起作用?

html - Bootstrap 左对齐图像影响文本布局

jquery - Rails - 为什么远程提交表单后 jQuery 不加载