Select 当前元素 jquery - 多个 div

Select the current element jquery - multiple divs

我是 jquery 的新手,我想了解如何在我的情况下悬停当前元素:

<div class="feat_pic">
  <div class="feat_bg_img" style="background-image: url(<?php echo $src[0]; ?> );"><div class="layer"></div></div>
  <a class="home-feat-title" href="<?php the_permalink(); ?>"><?php get_the_title() ? the_title() : the_ID(); ?></a>
</div>

<div class="feat_pic">
  <div class="feat_bg_img" style="background-image: url(<?php echo $src[0]; ?> );"><div class="layer"></div></div>
  <a class="home-feat-title" href="<?php the_permalink(); ?>"><?php get_the_title() ? the_title() : the_ID(); ?></a>
</div>

<div class="feat_pic">
  <div class="feat_bg_img" style="background-image: url(<?php echo $src[0]; ?> );"><div class="layer"></div></div>
  <a class="home-feat-title" href="<?php the_permalink(); ?>"><?php get_the_title() ? the_title() : the_ID(); ?></a>
</div>

我知道我已经接近我想要完成的目标了,这里是代码:

$(".feat_pic").hover(function(){
        $(".home-featured ul li .feat_container ul li .feat_bg_img .layer").addClass("lilith");
        $(".home-featured ul li a.home-feat-title").addClass("satan");
    }, function(){
        $(".home-featured ul li .feat_container ul li .feat_bg_img .layer").removeClass("lilith");
        $(".home-featured ul li a.home-feat-title").removeClass("satan");
    });

如何让 add.Class 仅在当前 .feat_pic 上工作?

您可以在事件处理程序中使用 this 来引用悬停的 feat_pic 元素,然后您可以使用 .find() 找到 .layer.home-feat-title 里面的元素 like

$(".feat_pic").hover(function () {
    $(this).find(".feat_bg_img .layer").addClass("lilith");
    $(this).find("a.home-feat-title").addClass("satan");
}, function () {
    $(this).find(".feat_bg_img .layer").removeClass("lilith");
    $(this).find("a.home-feat-title").removeClass("satan");
});

演示:Fiddle

$(".feat_pic").hover(function(){
    var me = $(this); // current .feat_pic
    me.addClass('className');
    $(".home-featured ul li .feat_container ul li .feat_bg_img .layer").addClass("lilith");
    $(".home-featured ul li a.home-feat-title").addClass("satan");
}, function(){
    $(".home-featured ul li .feat_container ul li .feat_bg_img .layer").removeClass("lilith");
    $(".home-featured ul li a.home-feat-title").removeClass("satan");
});

您可以使用 "this" 而不是在您的案例中指定 class 名称

$(this).hover(function(){
    $(".home-featured ul li .feat_container ul li .feat_bg_img .layer").addClass("lilith");
    (".home-featured ul li a.home-feat-title").removeClass("satan");
});