Jquery找到最近的链接?

时间:2013-05-17 04:18:57

标签: javascript jquery coffeescript

我希望能够从这种类型的代码中获取href:

<tbody>
  <tr class="odd">
    <td class=" sorting_1">
      <a href="aURL">The Link Text</a>
    </td>
  </tr>
</tbody>

但我希望能够点击链接本身或td。

这是我的CoffeeScript:

$("#myID tr td").click (event)->
    event.preventDefault()
    link = $(event.target).find("a").attr("href")
    $("#anAjaxPod").load(link)

如果单击td,则此方法有效,但如果单击链接则无效。

编辑:更新了问题,我最初使用了find。这只是我玩的最后一个代码

3 个答案:

答案 0 :(得分:4)

使用.find(); .closest()是爬上测试自我和祖先的DOM树。这里锚标记是td的子标记,所以你需要下降。所以你需要找到或选择一个子选择器。

$(this).find("a").attr("href")
  

Closest通过测试元素本身并遍历DOM树中的祖先来获取与选择器匹配的第一个元素。

$("#myID tr td").click(function(event){
    event.preventDefault()
    link = $(this).find("a").attr("href");
    $("#anAjaxPod").load(link);
 });

Fiddle

答案 1 :(得分:3)

.closest()看起来和自己或祖先在哪里,你想要后代,找到后代使用find()

link = $(event.target).find("a").attr("href")

答案 2 :(得分:0)

试试这个:

$(function(){
    $("#myID tr td").click(function(){
         Link = $(this).find("a").eq(0).attr("href");
         $("#anAjaxPod").load(Link);
         return false;
    })
})