jquery - 如何在 jQuery 中定位较早的非同级元素?

标签 jquery jquery-selectors

我有以下 HTML:

<ul>
    <li>
       <figure>
           <img class="overlay" src="...">
       </figure>
       <figcaption>
           <h3><a href="...">Text</a></h3>
       </figcaption>
   </li>
</ul>

当我将鼠标悬停在 figcaption 内的 h3 时,我想更改 内图像 class=overlay 的不透明度图。天啊,这当然很简单,但我一直在努力尝试

$('h3 a').mouseover(function(){
 $(this).closest('.overlay').css('opacity',1);
});

并更改最接近的 prev、prevAll 等,但都没有成功。任何帮助都会受到热烈欢迎!

最佳答案

可以使用以下方法

$('h3 a').mouseover(function(){
 $(this).closest('li').find('figure .overlay').css('opacity',1);
});

http://api.jquery.com/category/traversing

关于jquery - 如何在 jQuery 中定位较早的非同级元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21861839/

相关文章:

javascript - 堆栈中视频元素的加载之间存在明显的延迟

javascript - 使用 jquery 将行值设为另一个文本

javascript - 我可以定义一个函数,该函数根据哪个选择器处于事件状态而采用可变参数吗?

javascript - 将变量和选择器添加到 not 函数的正确方法 - jquery

jQuery - 内容等于而不是内容包含

jquery - 从组合框的值获取选项的文本

javascript - 为什么我不能从 javascript (.js) 文件中获取我的文本框的值?

javascript - 如何在完成第一个函数后执行一个函数

javascript - 如何从第二个连字符之后的字符串中获取子字符串?

javascript - 当 ng-show 可以适用于两种情况时,为什么要使用 ng-hide