(Drupal) 如何仅使用 jQuery 定位节点内的元素?

(Drupal) How to only target elements within node with jQuery?

我是 jQuery 的初学者,我有这个 HTML:

<a class="a2a_dd" href="https://www.addtoany.com/share_save"><img src="//static.addtoany.com/buttons/favicon.png" width="0" height="0" border="0" alt="Share"/>Share</a>

<div id="share-btns">
 <div id="facebook">
  <a class="a2a_button_facebook"></a>
 </div>

 <div id="google_plus">
  <a class="a2a_button_google_plus"></a>
 </div>

 <a class="a2a_button_twitter">
  <div id="twitter"></div>
 </a>
</div>

我正在尝试使用 jQuery 来实现,因此当您单击 .a2a_dd link 时,它会切换#share-btns div 可见性.这是我的代码:

(function($){
Drupal.behaviors.toggle = {
  attach: function() {
    $('.a2a_dd').click(function() {
      $('#share-btns').fadeToggle();
    });
  }
};

})(jQuery);

问题是,我在同一个页面上有一个预告文章网格,上面都有这个 HTML,当我点击 .a2a_dd link 时它仅在页面上的第一个预告片上切换#share-btns div 的任何预告片。有没有办法让 jQuery 识别被单击的节点,以便它可以从同一节点切换 div?任何帮助将不胜感激。

使用 next() 快速修复。您需要在切换 link 之后立即定位元素(根据您的 html 结构)。

$('.a2a_dd').click(function() {
  $(this).next().fadeToggle();
});

Plunker 示例。