2015-01-11 1 views
0

내가 jQuery로 초보자와 나는이 HTML이 :(Drupal) jQuery를 사용하여 노드 내의 요소 만 대상으로 지정하는 방법은 무엇입니까?

<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> 

난 당신이 .a2a_dd 링크를 클릭 할 때 그래서를 만들기 위해 jQuery를 사용하려고를, 그것은 # 공유 btns의 사업부를 전환합니다 시계. 여기에 내 코드 :

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

})(jQuery); 

, 나는 모두가 그들에이 HTML을 가지고 같은 페이지에 티저 기사 모두의 그리드가 나는 맛보기의에 .a2a_dd 링크를 클릭 할 때 페이지의 첫 번째 티저에서만 # share-btns div를 토글합니다. jQuery가 클릭 된 노드를 인식하도록하여 같은 노드에서 div를 토글 할 수 있습니까? 어떤 도움이라도 대단히 감사하겠습니다.

+0

버튼과 링크의 각 그룹에 다른 래핑 요소가 있습니까? 그 인스턴스를 분리 도움이 될 것입니다 – charlietfl

+0

죄송합니다 네, 거기 클래스입니다 스팬 요소 .a2a_kit – 5AM

+0

확인. 그런 다음 패턴'$ (this) .closest ('. a2a_ki')를 사용하십시오. find ('[id = share-btns]')'. 해당 상위 랩퍼를 검색 한 후 상위 랩퍼를 분리합니다. ID는 페이지에서 반복되지 않아야하므로'[id = ..]'selector – charlietfl

답변

0

next()을 사용한 빠른 수정. 토글 링크 바로 뒤에 (HTML 구조에 따라) 요소를 대상으로 지정해야합니다.

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

Plunker 예.

+0

감사합니다. 완벽하게 작동합니다. :) – 5AM