2012-10-07 6 views
-3

부모 사업부에서 사업부의 HREF를 얻을 수 a.link에서 href를 가져와야합니다. href까지 한 수준 올리려면 어떻게해야합니까? 분명히 'this'이 작동하지 않습니다. a.link이 많이 있기 때문에 클래스 이름으로도 호출 할 수 없으며 동적으로 만들어집니다. 나는 또한 '부모'또는 '부모'를 사용할 수 없기 때문에 어떤 이유로 스크립트에서 작동하지 않습니다. a 요소가 형제 아닌 부모 때문에나는 기본적으로 다음과 같습니다 코드의 조각을

+2

jQuery에는 DOM을 트래버스하는 여러 가지 방법이 있습니다. http://api.jquery.com/category/traversing/. –

+2

* "href까지 한 단계 올라가려면 어떻게해야합니까? ... 어떤 이유로 든 '부모'또는 '부모'를 사용할 수 없습니다 ..."* 아마도 HTML이 더 깔끔하게 들여 쓰여진 경우 , 당신은''이 부모가 아니라는 것을 알 것입니다. –

답변

4

.parent()이 작동하지 않습니다. 대신 .prev()를 사용할 수 있습니다

$(this).append('<a class="append" href="' + $(this).prev().attr('href') + '"></a>'); 

.prev() 방법은 바로 앞의 요소를 반환합니다. 마크 업을 변경하려는 경우 .prevAll(".link") 또는 .siblings(".link")을 사용할 수도 있습니다.

+0

나는 'prev' 'prevall'과 'siblings'에 대해 몰랐다. 고마워요. – Youss

+1

@Youss - 환영합니다, 기꺼이 도와 드리겠습니다 :) Felix가 귀하의 질문에 대한 언급에서 언급했듯이 jQuery API를 탐색하는 데 시간을 할애하는 것이 좋습니다. 상상할 수있는 모든 DOM 탐색 문제를 해결하는 데는 대개 여러 가지 방법이 있습니다! –

관련 문제