jquery - 如何仅将效果应用于悬停的元素?

标签 jquery css

当我将鼠标悬停在单个列表项上时,所有其余列表项都会显示效果。我想显示对单个列表项的效果。

这是代码:

<script>    
    $(document).ready(function(){
        $('.thumbs li a').hover( function(){
            $('.thumbs li a').find('div').css({'opacity':'1'});
            },
            function(){
            $('.thumbs li a').find('div').css({'opacity':'0'});
            });
    });    
</script>

 <div id="thumbs-wrapper">
 <ul class="thumbs">
 <li> <a href="#"><img src="images/Adrian_Shaughnessy-325x325.png" />
  <div><h2> This is image 1</h2> </div></a> 
  </li>
 <li><a href="#"><img src="images/allan_yu-325x325.jpg" />
<div><h2> This is image 2</h2> </div></a>
  </li>
 <li><a href="#"><img src="images/armin_vit_secrethandshake-325x325.jpg" />
<div><h2> This is image 3</h2> </div></a>
  </li>
 <li><a href="#"><img src="images/bburwell_Tsh-325x325.jpg" />
<div><h2> This is image 4</h2> </div></a>
  </li>
 <li><a href="#"><img src="images/beverly_fresh_2-325x325.jpg" />
<div><h2> This is image 5</h2> </div></a>
  </li>

      </ul>
 </div>

最佳答案

使用 $(this) 而不是 $('.thumbs li a') 在源 元素中查找 div 触发事件而不是选择器$('.thumbs li a')返回的所有元素。

$(document).ready(function(){
        $('.thumbs li a').hover( function(){
            $(this).find('div').css({'opacity':'1'});
        },
        function(){
            $(this).find('div').css({'opacity':'0'});
        });
});

关于jquery - 如何仅将效果应用于悬停的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17789115/

相关文章:

javascript - 如何使用 Twitter Bootstrap 自动关闭警报

javascript - 导入 JS 时 Django 403 错误(Ajax)

javascript - 从 MapQuest API 迭代 JSON

jquery - 为什么我的汉堡包导航在桌面模式下无法加载?

html - 如何将我的列表项放到下一个打开的行中?

javascript - 按钮仅在双击后切换

javascript - 检索完整的 HTML 标签 'signature'

css - iOS Safari 按钮不是完美的圆圈

html - 如何将我的背景移动速度减半

css - 如何使用 CSS 伪元素淡入更改文本