jQuery addClass仅限于子元素

时间:2017-03-20 15:17:24

标签: jquery

以下代码有效:

jQuery(".left-content").find("li").hover(function () {
    jQuery(".left-content").find(".stamp").addClass('stamp-hover');
  }, 
  function () {
    jQuery(".left-content").find(".stamp").removeClass('stamp-hover');
  }
);

但是,我在页面上有大约5个div设置相同的方式,当在div 1中将鼠标悬停在li上时,该类将被添加到div.stamp的所有div.left-content中在页面上。我希望课程只能添加到家长div.stamp中的div.left-content

<div class="left-content">
    <div class="content-section">
        <ul>
            <li><a href="#">link 1</a></li>
            <li><a href="#">link 2</a></li>
            <li><a href="#">link 3</a></li>
        </ul>
    </div>
    <div class="stamp-anchor-wrapper">
        <div class="stamp"></div>
    </div>
</div>

1 个答案:

答案 0 :(得分:2)

只需使用this

定位当前元素即可
jQuery(".left-content").find("li").hover(function () {
    jQuery(this).parents(".left-content").find(".stamp").addClass('stamp-hover');
  }, 
  function () {
    jQuery(this).parents(".left-content").find(".stamp").removeClass('stamp-hover');
  });