제이쿼리 부모의 부모 - jeikwoli bumoui bumo

parent는 익숙해도 sibling은 쓸 일이 적어서 자꾸 구글링 하는 내 자신을 위해...

📌 상위 요소 (부모 요소)

상위 요소 : 부모 요소
.parent() 선택한 요소의 부모(parent) 요소를 선택한다.
.parents() 선택한 요소의 상위(ancestor) 요소를 모두 선택한다.
.parentsUntil() 선택한 요소의 상위 요소 중에서 지정한 선택자에 해당하는 요소 바로 이전까지의 요소를 모두 선택한다.
.closest() 선택한 요소를 포함한 상위 요소 중에서 지정한 선택자에 해당하는 요소 중 가장 첫 번째 요소를 선택한다.

📌 하위 요소 (자식 요소)

하위 요소 : 자식 요소
.children() 선택한 요소의 자식(child) 요소를 모두 선택한다.
.find() 선택한 요소의 자손(descendant) 요소 중에서 전달받은 선택자에 해당하는 요소를 모두 선택한다.

📌 형제 요소

형제 요소
.siblings() 선택한 요소의 형제(sibling) 요소 중에서 지정한 선택자에 해당하는 요소를 모두 선택한다.
.next() 선택한 요소의 바로 다음에 위치한 형제 요소를 선택한다.
.nextAll() 선택한 요소의 다음에 위치한 형제 요소를 모두 선택한다.
.nextUntil() 선택한 요소의 형제 요소 중에서 지정한 선택자에 해당하는 요소 바로 이전까지의 요소를 모두 선택한다.
.prev() 선택한 요소의 바로 이전에 위치한 형제 요소를 선택한다.
.prevAll() 선택한 요소의 이전에 위치한 형제 요소를 모두 선택한다.
.prevUntil() 선택한 요소의 형제 요소 중에서 지정한 선택자에 해당하는 요소 바로 다음까지의 요소를 모두 선택한다.

📌 기타 탐색

기타 탐색
.add() 선택한 요소에 다른 요소를 추가 선택한다.
.addBack() 선택한 요소의 집합에 바로 전에 선택했던 요소를 추가한다.
.each() 선택한 요소들을 각 요소마다 전달받은 콜백 함수를 반복 실행한다.
.end() 마지막으로 실행한 메소드의 실행 전 상태로 선택한 요소의 집합을 복원한다.
.offsetParent() DOM 트리에 존재하는 부모요소들 중 위치(positioned)요소를 기준으로 가장 가까운 요소를 찾아서 요소를 선택한다.
.contents() 선택한 요소의 자식(child) 요소를 모두 선택한다. (텍스트 노드와 주석 노드까지 모두 포함함)

현재 요소 부모의 부모를 찾으려고합니다. 에있는 링크를 클릭 <td>했고 <tr>개체 를 얻고 싶습니다 .

“$ (this) .parent (). parent ()”가 작동하지 않는 이유는 무엇입니까? 무엇을할까요?

감사합니다,
Brendan

편집 : 내 구문의 오류가 모든 것을 던지는 것처럼 보입니다. “$ (this) .parent (). parent ()”는 실제로 작동하지만 가장 효율적인 솔루션처럼 보이기 때문에 $ (this) .closest ( ‘tr’) “를 사용했습니다.



답변

가장 좋은 방법은 다음을 사용하는 것입니다 closest.

$(this).closest('tr');

설명서를 확인하십시오 .

Closest는 먼저 현재 요소를보고 지정된 표현식과 일치하는지 확인하여 작동합니다. 그렇다면 요소 자체를 반환합니다. 일치하지 않으면 지정된 표현식과 일치하는 요소를 찾을 때까지 부모별로 문서를 계속 탐색합니다. 일치하는 요소가 없으면 아무것도 반환되지 않습니다.


답변

작동합니다. $ (this) .parents (tag)를 시도 할 수도 있습니다. 여기서 tag는 찾으려는 태그입니다.

예를 들면 :

$(this).parents("tr:first")

가장 가까운 tr “up the chain”을 찾을 수 있습니다.


답변

작동합니다 … 시도해 볼 수 있습니다

$(this).parents(':eq(1)');

.parents (selector)는 선택자와 일치하는 모든 조상을 가져옵니다.

그리고 : eq (1)은 목록에서 첫 번째 요소 (인덱스가 0이므로 두 번째)를 찾습니다.


답변

이 스 니펫은 과거에 저를 위해 수행되었습니다.

$(this).parent().parent(); 

어딘가에 다른 문제가 있는지 확인하기 위해 코드를 게시하십시오.


답변

또한 시도

$(this).closest('div.classname').hide();


답변

부모에 대한 어떤 종류의 ID / 클래스가 있으면 부모 ()를 사용할 수 있지만 filter () 또는 다른 방법으로 중지하지 않는 한 모든 부모를 <body>까지 줄 것입니다.

$(this).parents('.myClass');

이것이 누군가를 돕기를 바랍니다 🙂


답변

$ (this) .parent ()를 $ ($ (this) .parent ())와 같은 jQuery 객체로 래핑 해보십시오. 유효한 jquery 객체가 있는지 확인하기 위해이 작업을 수행해야하는 경우가 종종 있습니다. 거기에서 부모 부모를 확보하거나 prev ()를 사용할 수 있습니다.