programing

jQuery: 부모의 특정한 자녀에게 어떻게 접근합니까?

muds 2023. 11. 2. 22:08
반응형

jQuery: 부모의 특정한 자녀에게 어떻게 접근합니까?

간단한 예를 들어, 페이지에 다음 블록이 여러 번 반복됩니다(동적으로 생성됨).

<div class="box">
   <div class="something1"></div>
   <div class="something2">
      <a class="mylink">My link</a>
   </div>
</div>

클릭하면 다음을 통해 링크의 상위로 이동할 수 있습니다.

$(".mylink").click(function() {
   $(this).parents(".box").fadeOut("fast");
});

하지만..저는 그 곳에 가야합니다.<div class="something1">그 특정한 부모의.

기본적으로 누가 상급 형제를 직접 참조하지 못하고 참조하는 방법을 알려줄 수 있나요?오빠라고 하죠.빅 브라더의 클래스 이름을 직접적으로 언급하면 페이지에서 해당 요소의 모든 인스턴스가 사라집니다. 이것은 원하는 효과가 아닙니다.

시도해 봤습니다.

parents(".box .something1") ... no luck.
parents(".box > .something1") ... no luck.
siblings() ... no luck.

누구 없어요? 감사합니다.

부르기.parents(".box .something1")선택기와 일치하는 모든 상위 요소를 반환합니다..box .something. 즉, 다음과 같은 상위 요소를 반환합니다..something1그리고 안에 있습니다..box.

가장 가까운 부모의 자녀를 구해야 합니다. 다음과 같이 말이죠.

$(this).closest('.box').children('.something1')

이 코드는 가장 안쪽에 있는 부모가 선택자와 일치하도록 호출한 다음.children당신이 찾고 있는 삼촌을 찾기 위해 그 부모 요소를 사용하고 있습니다.

$(this).parent()

나무 횡단은 재미있습니다.

$(this).parent().siblings(".something1");

$(this).parent().prev(); // if you always want the parent's previous sibling

$(this).parents(".box").children(".something1");

그리고 훨씬 더 많은 방법으로 이러한 문서들이 도움이 될 수 있습니다.

클래스가 있는 첫 번째 부모를 찾습니다.box그런 다음 정규식 일치하는 첫 번째 자식 클래스를 찾습니다.something신분증을 가져갑니다.

$(".mylink").closest(".box").find('[class*="something"]').first().attr("id")

당신의 문제를 제대로 이해했다면,$(this).parents('.box').children('.something1')이것이 당신이 찾고 있던 것이에요?

당신은 사용할 수 있습니다..each()와 함께.children()괄호 안의 셀렉터:

//Grab Each Instance of Box.
$(".box").each(function(i){

    //For Each Instance, grab a child called .something1. Fade It Out.
    $(this).children(".something1").fadeOut();
});

언급URL : https://stackoverflow.com/questions/2398947/jquery-how-to-get-to-a-particular-child-of-a-parent

반응형