抓取嵌套在列表中的特定锚点

时间:2014-05-15 14:21:34

标签: javascript jquery

我无法从标签中抓取某些文字。我有以下代码:

<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”并在特定的“li”中获得相应的“部分标题”

我试过了:

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

我似乎无法抓住该文本,因为它没有关联。当我尝试使用“li”时,它只是抓住“Link 1”

1 个答案:

答案 0 :(得分:2)

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

是最高级别,而不是你所处的水平。你想进入子类并寻找具有节标题的兄弟。

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