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