指定在我的Jquery .click函数中使用哪个“this”

时间:2014-02-25 20:58:47

标签: jquery html jquery-selectors this

我在搜索中遇到问题并且似乎无法找到解释问题的任何内容,所以我需要帮助!

以下是我的JS:

    $(".container").hover(function() {
        $(this).next().slideDown(500);
        $(this).css("opacity", "0.5");
    });

    $(".overlay > img").click(function() {
        $(this).slideUp(500);
        $(this).hide(750);
        $(this).prev().css("opacity", "1.0");
    });

虽然我应该发布我的HTML,但我认为这很简单。我有一个内容容器(“.container”),它有一个悬停事件来slideUp我的覆盖容器(“.overlay”)。一旦我的覆盖容器启动,用户可以点击一个小的'x'来关闭它(这就是img)。但是我在我的页面中有几个这样的容器和叠加div,因此我使用“this”选择器。我怎么告诉“this”,在.click函数中只能引用“.overlay”类而不是img。目前它隐藏了'x'图像。

感谢您的帮助!!!!

2 个答案:

答案 0 :(得分:2)

使用:

$(this).closest('.overlay');

这会将树重新发送给最近的class='overlay'父母,您可以对此采取行动。

答案 1 :(得分:1)

$(this).parent()

应定位.overlay