2

我希望能够从这种类型的代码中获取 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 。这只是我玩的最后一个代码

4

3 回答 3

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);
 });

小提琴

于 2013-05-17T04:20:23.967 回答
3

.closest()看起来和你想要后代的自我或祖先,找到后代使用find()

link = $(event.target).find("a").attr("href")
于 2013-05-17T04:20:45.707 回答
0

尝试这个:

$(function(){
    $("#myID tr td").click(function(){
         Link = $(this).find("a").eq(0).attr("href");
         $("#anAjaxPod").load(Link);
         return false;
    })
})
于 2013-05-17T04:22:15.320 回答