[javascript] 부모의 jQuery 부모

현재 요소 부모의 부모를 찾으려고합니다. 에있는 링크를 클릭 <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 ()를 사용할 수 있습니다.