0
일반적으로 공통 컨테이너 내에 있지만 형제가 아니거나 동일한 "트리 라인"내에있는 요소를 선택해야 할 때가 있습니다.jQuery Traversal - 공통 조상과 관련된 요소 찾기
<div id="container-left" class="container">
<div class="sidebar">
<button class="more-link">Show Extras</button>
</div>
<div class="content">
<div class="tidbits">
<p>Lorem ipsum beep bop boop</p>
<p class="extra hidden">Exxtra info about lorem ipsum!</p>
</div>
</div>
</div>
<div id="container-right" class="container">
<div class="sidebar">
<button class="more-link">Show Extras</button>
</div>
<div class="content">
<div class="tidbits">
<p>Lorem ipsum beep bop boop</p>
<p class="extra hidden">Exxtra info about lorem ipsum!</p>
</div>
</div>
</div>
내가 할거야 것은 extra
의 클래스로 p
태그를 대상으로 "연락처보기 엑스트라"button
의,에 이벤트 리스너를 부착하고, 클릭에서 hidden
를 전환 : 예를 들어, HTML을 부여 수업. 그래서 (jQuery를 사용하여) 나는 일반적으로 다음과 같이 선택
$(".more-link").on("click",function(){
var $this = $(this);
var $extraElement = $this.closest(".container").find(".extra");
$extraElement.toggleClass("hidden");
});
내 질문을 다음 .closest().find()
콤보보다 extra
요소를 선택할 수있는 더 나은 방법이 있나요? 그것에 관하여 무언가는 다만 조금 clunky 느낀다.
재미있는, 그러나 당신이 "생성"ID를 참조 할 때, 내가 모든 버튼/대상 쌍에 대해 특정 ID를 작성하는 것입니다, 또는 프로그래밍 방식으로 어떻게 든 생성되는 것입니다? –
"프로그래밍 방식으로 어떻게 든 생성됨"을 의미합니다. HTML 목록을 생성하는 PHP/ASP/Java 서버가 있다고 가정합니다. 너? –
Gotcha. 그래도 고유 ID를 생성하려는 노력은 트리머 jQuery 선택기로 저장되는 것보다 더 많은 것 같습니다. –