2014-05-15 2 views
1

태그에서 특정 텍스트를 가져 오는 데 문제가 있습니다.목록에 중첩 된 특정 앵커 잡기

<ul class="listclass"> 
    <li> 
      <ul class="subclass"> 
       <li><a href="#">Link 1</a></li> 
       <li><a class="last" href="#">Link 2</a></li> 
      </ul> 
      <a href="#">Section Title</a> 
    </li> 
    <li> 
      <ul class="subclass"> 
       <li><a href="#">Link 1</a></li> 
       <li><a class="last" href="#">Link 2</a></li> 
      </ul> 
      <a href="#">Section Title</a> 
    </li> 
    <li> 
      <ul class="subclass"> 
       <li><a href="#">Link 1</a></li> 
       <li><a class="last" href="#">Link 2</a></li> 
      </ul> 
      <a href="#">Section Title</a> 
    </li> 
</ul> 

그래서 나는 단순히 특정 "리"

내가 해봤 해당 "섹션 제목을"어떤 "링크 1"을 클릭하고받을 수 있도록하려면 : 나는 다음과 같은 코드가 있습니다 :

$('ul.listclass li a').click(function() { 
if (!$(this).hasClass('last')) { 
    var sectionTitle = $(this).closest('ul.listclass').find('a').text(); 
    alert(sectionTitle); 
} 
}); 

나는 그 텍스트와 관련이 없으므로 그 텍스트를 가져올 수 없습니다. 그리고 "리"를 사용하려고하면 "링크 1"을 붙잡습니다.

+0

당신은'.product-list'라는 더 클래스가 없다'는 "Link1Link2"을 경고합니다 .subclass'and로 변경 –

+0

내 나쁜, 나는 그것을 변경되었습니다. 나는 link1link2를 원하지 않습니다. "제목"이라는 텍스트가 필요합니다 – Posz

+0

음 ... 고마워요? 내 코드가 잘못되었다는 것을 몰랐다. 그래서 제가 도움을 청합니다. – Posz

답변

2
.closest('ul.listclass').find('a').text(); 

은 레벨이 아니라 최상위로 갈 것입니다. 하위 클래스로 올라가서 섹션 제목이있는 형제를 찾습니다.

.closest('ul.subclass').next('a').text(); 
+0

정확히 내가 필요로하는 것. 감사! – Posz