jquery - 在 img 上使用 .closest 淡出图像

标签 jquery closest

我正在尝试使用 .closestfadeOut 图像。要淡入淡出的图像有一个.icon类,页面上有多个.icons,所以我想使用this.closest.icon 定位到与单击的元素相同的 div 内。

My JS Fiddle 显示了该功能。单击较小的方 block ,文本就会淡入。https://jsfiddle.net/x9sxcLr9/

但是,图标/大方 block 也应该随着文本淡入而淡出。这是该功能的代码:

$(this).closest("img.icon").fadeOut( "fast", function() {});

HTML 设置使用 .cross 作为事件处理程序,因此它应该找到附近正确的 .icon(在同一个 div 中),但它没有好像找到了...

<div class="">
            <img class="icon" src="http://placehold.it/100x100" />
            <img class="cross" src="http://placehold.it/35x35" />
            ...
</div>

$( ".cross" ).click(function() { ... }

我哪里出错了?

最佳答案

您应该使用 sibling 而不是最接近的Closest 将查找具有给定类的祖先。由于该元素是单击元素的同级元素,因此使用 siblings

$(".cross").click(function() {
    var status = $(this).parent().attr("class")

    if (status == 'active') {
        $(this).parent(this).removeClass("active");
    } else {
        $(this).parent(this).addClass("active");
        $(this).siblings("img.icon").fadeOut("fast", function() {});
    }
});

演示:https://jsfiddle.net/tusharj/x9sxcLr9/1/

关于jquery - 在 img 上使用 .closest 淡出图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30306294/

相关文章:

javascript - 通过 jQuery 求数字之和

jquery - 如何使新创建的元素与现有元素具有相同的功能?

ajax - 将 jQuery 的 on 函数与 AJAX 结合使用

PHP - 从数据库中返回最接近的匹配项

VBA查找最接近值的单元格

javascript - 获取相对于另一个父元素的元素的值

javascript - jQuery 切换多个元素

javascript - 多输入,用户只能输入其中之一

javascript - 在 $(this) 之后访问类的最快方法

javascript - 当 Jquery 的 close() 找不到元素时,我的应用程序会变慢,我该如何执行相同的查询但速度更快?